2009-04-17 6 views
4

再生、一時停止、シーク(早送り)機能を備えたオーディオストリーミングアプリケーションを開発する必要があります。 seek以外のすべての操作を実装しました。Mattのオーディオストリーミングsample codeを使用しています。誰でもオーディオシークの実装方法について詳しく説明できます。私はシーク操作について考えました。すなわち、方法はAudioQueueGetCurrentTime()です。しかし、私はそれを実装する全体の概念を得ることはできません。だから、サンプルコードで私を助けることができますか?事前にiPhoneでストリーミングオーディオを探すには?

おかげで、私は同じことに取り組んでいます Syam

答えて

4

男。 私は永遠に見えました!

私は

SInt64 byteOffset; 
      UInt32 ioFlags; 
      NSLog(@"seek to packet %i", mainMP3delegate.seek_Packet); 
      OSStatus err = AudioFileStreamSeek(inAudioFileStream, mainMP3delegate.seek_Packet, &byteOffset, &ioFlags); 
      if (err) { PRINTERROR("seek error"); myData->failed = true;} 

を試してみましたが、私は

AudioTimeStamp TSを望んでいたところに、開始時間を変更しようとしました。 ts.mFlags = kAudioTimeStampSampleTimeValid; ts.mSampleTime = 111110; NSLog(@ "サンプル時間%f"、ts.mSampleTime); ts.mSampleTime = mainMP3delegate.MP3_Timestamp; NSLog(@ "サンプル時間%f"、ts.mSampleTime);

  err = AudioQueueStart(myData->audioQueue, &ts.mSampleTime); 
     if (err) { PRINTERROR("AudioQueueStart"); myData->failed = true; return err; }  
     myData->started = true; 

が、どちらも私は、単純なその何かを知っている

を働いていた、私は知らないので、私もお金のためにそれを解決するために誰かを取得するためにElanceを上の入札を置きます! http://www.elance.com/jobs/16779786/iphone_application_audio_streaming_seek_scrub&&catId=11033&backurl=aHR0cDovL3d3dy5lbGFuY2UuY29tL3BocC9zZWFyY2gvbWFpbi9lb2xzZWFyY2gucGhwP21hdGNoVHlwZT1wcm9qZWN0I21hdGNoS2V5d29yZHM9aXBob25lJTIwc3RyZWFtJTIwc2VlayZzb3J0Qnk9JnNvcnRPcmRlcj0mcGFnZT0xJmNhdEZpbHRlcj0xMDAmc3ViY2F0RmlsdGVyPSZ0aW1lbGVmdEZpbHRlcj0mdGltZWxpc3RlZEZpbHRlcj0mYnVkZ2V0RmlsdGVyPS0xJmZlYXR1cmVkcHJvamVjdEZpbHRlcj1mYWxzZSZlc2Nyb3dwcm9qZWN0RmlsdGVyPWZhbHNlJmIyYnByb2plY3RGaWx0ZXI9ZmFsc2UmaG91cmx5cHJvamVjdEZpbHRlcj10cnVlJmZpeGVkcHJvamVjdEZpbHRlcj10cnVlJnN0YXR1c0ZpbHRlcj0xMDAzNyZhbWV4cHJvamVjdEZpbHRlcj0%3D&job_tier=11188

しかし、運はありません。 私は今のところmp3をダウンロードしてここに示すようなバッファを探しますが、それは良い解決策ではありません。

http://lists.apple.com/archives/coreaudio-api/2009/Jan//msg00143.html

男!もしあなたがこれを理解するか、誰かがしたら、私は狂ってしまうだろう。

0

Mattのオーディオストリーミングサンプルコードも使用していましたが、自分のコードでシークできませんでした。

今私はオーディオストリーミングを行うMPMoviePlayerControllerを使用しています。そのシーク機能はうまく機能します。唯一の問題は、合計時間が徐々に計算されることです。ダウンロードが最後になると、合計時間を知ることができます。

MPMoviePlayerController Class Reference

関連する問題