0
我做在我的代碼如下:Sound.play()崩潰不帶參數
_sound = new Sound();
_sound.addEventListener(SampleDataEvent.SAMPLE_DATA, handlePlaybackSampleData);
_soundChannel = _sound.play();
通常這應該導致聲音呼喚手柄...功能,當它想打,這樣我可以插入我自己生成的ByteArray的聲音。 但它甚至不調用這個函數,有時(!),而不是崩潰有:
Error #2004: One of the parameters is invalid.
我不知道爲什麼會這樣。在所有示例中,它的工作原理都與此類似 它也沒有太多意義,因爲play()中的所有參數都是可選的。
在此之前,我正在將麥克風輸入錄製到一個緩衝區,然後想要播放我錄製的內容,這就是所有這一切。
編輯: 下面是函數:
public function handlePlaybackSampleData(p_sampleEvent:SampleDataEvent) :void
{
// Read data until either MAX_SAMPLES or all available samples are reached.
var i:int = 0;
var data :Number = 0;
while(i < 8192)
{
if(_lastRecord.bytesAvailable)
{
data = _lastRecord.readFloat();
p_sampleEvent.data.writeFloat(data);
p_sampleEvent.data.writeFloat(data);
i++;
continue;
}
else
{
break;
}
}
}
對不起,也許我沒有看到它,但你想播放哪種聲音?因爲我看到你沒有源頭。 – 2012-02-21 15:00:13
你可以分享'handlePlaybackSampleData'功能代碼嗎? – sch 2012-02-21 15:04:48
我編輯它。另一個問題是,如果它工作,聲音播放太快了。但我會爲這個問題提出另一個話題。 – TheSHEEEP 2012-02-21 15:33:23