AudioFileStreamSeekでアップルのマニュアルがかなり限定されていて、実際の使用例はどこにも見つかりません。私は働いているストリーミングオーディオプレーヤーを持っていますが、私はAudioFileStreamSeekが広告されたように動作するように見えることができません...誰もiPhone用のAudioFileStreamSeekの実例を提供できますか?
ヘルプヒントや少しの例が大いにありがとう!
AudioFileStreamSeekでアップルのマニュアルがかなり限定されていて、実際の使用例はどこにも見つかりません。私は働いているストリーミングオーディオプレーヤーを持っていますが、私はAudioFileStreamSeekが広告されたように動作するように見えることができません...誰もiPhone用のAudioFileStreamSeekの実例を提供できますか?
ヘルプヒントや少しの例が大いにありがとう!
私が間違っていない限り、これは3.0 SDKでしか利用できないため、NDAで利用できます。あなたはこれをApple Beta forumsに持って行くべきでしょうか?
私は訂正しました。オンラインの2.2.1ドキュメントで検索を行うと、AudioFileStreamSeekは表示されません。それを見つけるには、手動で文書を掘り下げなければなりません。
いいえ、私はAudioFileStreamSeekのXCodeドキュメントをチェックしています。 iPhone OS 2.0以降で利用できます。 – Paul
私は訂正しました。オンラインの2.2.1ドキュメントで検索を行うと、AudioFileStreamSeekは表示されません。それを見つけるには、手動で文書を掘り下げなければなりません。 –
は、私はこの作品聞いています:
AudioQueueStop(audioQueue, true);
UInt32 flags = 0;
err = AudioFileStreamParseBytes(audioFileStream, length, bytes,
kAudioFileStreamParseFlag_Discontinuity);
OSStatus status = AudioFileStreamSeek(audioFileStream, framePacket.mPacket,
¤tOffset, &flags);
NSLog(@"Setting next byte offset to: %qi, flags: %d", (long long)currentOffset, flags);
// then read data from the new offset set by AudioFileStreamSeek
[fileHandle seekToFileOffset:currentOffset];
NSData* data = "" readDataOfLength:4096];
flags = kAudioFileStreamParseFlag_Discontinuity;
status = AudioFileStreamParseBytes(stream, [data length], [data bytes], flags);
if (status != noErr)
{
NSLog(@"Error parsing bytes: %d", status);
}
がAudioFileStreamSeekによって返されたバイトオフセットにオフセットデータ(kAudioFileStreamProperty_DataOffset)を追加することを忘れないでください。戻り値はオーディオデータへのオフセットであり、データオフセットは無視されます。
シーク前後のAudioQueueを停止してから再起動することもお勧めします。
Matt Gallagherは、彼の例の"Streaming and playing an MP3 stream"にAudioFileStreamSeek
を使用しています。
SInt64 seekPacket = floor(newSeekTime/packetDuration);
err = AudioFileStreamSeek(audioFileStream, seekPacket, &packetAlignedByteOffset, &ioFlags);
あなたが解決策を見つけた場合、私に教えてください:Mattのコード
AudioStreamer.m
でルック。まだスタックされています! – lostInTransit