2009-07-13 138 views
0

我試圖通過Flash Player 10的新實時音頻功能來播放一些示例數據。我開始使用在livedocs上的this頁底部給出的示例,這似乎工作正常,並播放清澈的音調。Flash Player 10實時音頻播放

我假設示例中的兩個writeFloat分別寫入左聲道和右聲道,並且寫入的數據是32位(由於浮點數)。

但是,我似乎無法將我的舊8位音頻數據轉換爲該界面所理解的格式。當我播放我的樣本數據時,我可以隱約聽到我期待的聲音,但它大量失真。我的樣本數據由原始8位樣本組成,範圍從0到255,其中127是無聲的。

我一直在嘗試不同的轉換公式,但我似乎錯過了有關此轉換的一些重要信息。

任何幫助非常感謝。

UPDATE:

正確公式結果是:

f = (sample.data.readByte() - 127)/255 

回答

2

嘗試轉化變種newSample:總數=(號碼(oldSample)-127.0)/127.0;

1

確保您正在讀取8位數據。如果您使用的是ByteArray類,則使用readUnsignedByte(而不是readByte)來獲取0-255之間的值。然後使用MontyGomery建議的公式。