2013-06-21 27 views
3

我從ByteArray播放Sound,我需要弄清楚到目前爲止播放了多少個字節。聲音 - 已播放了多少個字節?

  • 播放聲音時在44.1KHz的
  • 毫秒到目前爲止發揮可以檢索從SoundChannel.position

知道上述情況,我認爲公式是這樣的:

((SoundChannel.position/1000) * 44100) * 2 

但它沒有接縫,上述從未正常工作。

+0

+1好的研究和嘗試。 – Marty

+0

以何種方式無法正常工作? – Glitcher

+0

@Glitcher我正在使用它來嘗試暫停並恢復播放,但恢復聲音時從錯誤的位置開始。 – Drahcir

回答

1

這聽起來好像您正在使用新的Sound.loadCompressedDataFromByteArray()或PCM版本。我會提供你無法準確獲得ByteArray的位置。

查找使用Sound SampleDataEvent偵聽器的示例,從中抽取ByteArray(1024,2048等)中的一堆樣本並相應地更新位置變量。你將不會比存儲ByteArray imho的位置做得更好,在大多數情況下,它完全沒問題。

+0

這就是我最後要做的事情,但它只適用於收集2048個樣本。我最初嘗試了8192個樣本,但暫停/恢復的速度並不快。 – Drahcir

+0

理想情況下,我會喜歡計算,只需知道秒數播放。 – Drahcir