質問

アプリにリニアPCMファイル(.wav)があり、その継続時間をプログラムで取得したいのですが。 AudioStreamBasicDescriptionを使用して次を見つけることはできましたが、秒単位で継続時間を取得する方法がわかりませんでした。

mFormatID
mSampleRate
mChannelsPerFrame
mBytesPerPacket
mFramesPerPacket
mBytesPerFrame
mBitsPerChannel

期間を取得する方法を教えてください。

ありがとう。

役に立ちましたか?

解決

ファイルを使用してAVAudioPlayerインスタンスを作成できます。 AVAudioPlayerにはdurationプロパティがあります。

他のヒント

AudioFile kAudioFilePropertyEstimatedDurationプロパティを使用するのが最適ですが、PCMの計算が必要な場合:duration = totalNumPackets * ASBD.mFramesPerPacket / ASBD.mSampleRate

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top