如何在iPhone中寻找流媒体音频?

时间:2009-04-17 05:12:25

标签: iphone ios audio-streaming

我需要开发一个音频流应用程序,它具有播放,暂停和搜索(快进)的功能。除了seek之外,我已经实现了所有操作。我正在使用Matt的音频流sample code。任何人都可以详细解释如何实现音频搜索操作。我对寻求操作有了一个想法。即。使用AudioQueueGetCurrentTime()方法。但我无法让整个概念得以实现。那么你可以帮我一个示例代码吗?

提前致谢, SYAM

2 个答案:

答案 0 :(得分: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;

但都没有效果

我知道它的一些简单的东西,我只是不知道,所以我提出申请即可让某人用钱来解决它! 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

男人!如果你想到这个或有人,我会发疯的。我还对有人正在进行的租赁公司出价,

答案 1 :(得分:0)

我也在使用Matt的音频流示例代码,但我无法用他的代码实现良好的搜索。

现在我正在使用执行音频流的MPMoviePlayerController,它的搜索功能非常好。唯一的问题是总时间是逐步计算的,只有下载到最后才能知道总时间。

MPMoviePlayerController Class Reference