PCM ファイルを再生するために にAudioInputStream
バイトをフィードするために を使用しています。SourceDataLine
ユーザーがスライダーを動かしてファイル内のあるポイントにジャンプできるようにしたいと考えています。
私が抱えている問題:
markSupported()
に戻りfalse
ますAudioInputStream
。reset()
そのため、最初のアプローチを使用してそれを呼び出すことはできませんskip()
(これはすでにちょっと醜いと思っていました...)InputStrea
現在のマークよりも前の位置にジャンプするためだけに、m を壊して新しいものを作成するのは本当に避けたいと思います。SourceLineData.getLongFramePosition()
あまり信頼できないようです...バッファがあることは知っていますが、バッファにbyte
残っているsを考慮しても、動作がわかりません
a を使用しMemory-Mapped File
てバイトを行に送り、必要な場所にジャンプできるようにすることを検討しましたが、必要がない場合は関数に複雑さを加えたくありません。私が見逃しているこれを行う良い方法はありますか?getLongFramePosition()
また、実際に返されたフレーム番号が何を意味するのかを誰かが説明できますか? スピーカーを通過したフレーム数ですか(そうではないようです)?