2013-10-05 7 views
0

Я пытаюсь получить звук, который на временной шкале останавливается и воспроизводится, когда я нажимаю кнопки. И есть также анимация на этой временной шкале, которая должна останавливаться и играть. Я не могу получить код, который я использую для работы. Я получаю ошибкиЗапуск и остановка звука AS3

Del1, Layer 'actions', Frame 1, Line 16 1061: вызов возможно неопределенного метода воспроизведения через ссылку со статическим типом flash.media:SoundChannel.

Del1, Layer 'actions', Frame 1, Line 10 1120: Доступ к неопределенным свойствам фейерверков.

Я новичок в этом. Я понятия не имею, как исправить ошибки и заставить кнопки работать.

здесь весь код

import flash.events.MouseEvent; 
import flash.media.Sound; 
import flash.media.SoundChannel; 


PlayButton.addEventListener(MouseEvent.CLICK, playbutton); 
NextButton.addEventListener(MouseEvent.CLICK, nextbutton); 
StopButton.addEventListener(MouseEvent.CLICK, stopbutton); 

var mySound:Sound = new fireworks.wav(); 
var myChannel:SoundChannel = new SoundChannel(); 
myChannel = mySound.play(); 

function playbutton(event:MouseEvent):void 
{ 
myChannel.play(); 
play(); 
} 

function stopbutton(event:MouseEvent):void 
{ 
stop(); 
myChannel.stop(); 
} 

function nextbutton(event:MouseEvent):void 
{ 
gotoAndPlay(1, "Del2"); 
} 

может кто-то пожалуйста, помогите мне?

ответ

1

Ваша первая ошибка: Вы не можете позвонить play() на SoundChannel

Хотя вы всегда можете stop() ваш myChannel объект, вы не можете так просто играть. См. Раздел «Приостановка звука» в разделе this tutorial для получения информации о функциональных возможностях, которые вы пытаетесь создать. По сути, когда вы приостанавливаете свою песню, вам нужно запомнить это место в песне, а затем вызвать myChannel = mySound.play(thatLocation); всякий раз, когда вы хотите возобновить работу.

Ваша вторая ошибка: Синтаксис при добавлении файла песни должен быть немного изменился

Если файл песни где-то за пределами Flash, как в папке -

var mySound:Sound = new Sound(); 
mySound.load(new URLRequest("fireworks.wav")); 
mySound.play(); 

Если файл песня загружается в Flash-библиотеки -

var mySound:Sound = new CustomSongNameHere(); 
mySound.play(); 

Но в этом случае, вы потребность, чтобы найти песню в своей Flash-библиотеке, щелкните ее правой кнопкой мыши, выберите Linkage, отметьте Export for ActionScript и измените поле Class на CustomSongNameHere или что бы вы ни использовали в своем коде.

Смежные вопросы