我正在使用GStreamer SDK在我的iOS设备上播放aacaudiostream ,其工作正常,但延迟高于2.0秒。 我可以让这个延迟低于2.0秒吗? 可能有一些缓冲问题。 这是我如何创buildpipe道 pipeline = gst_parse_launch("playbin2", &error);
我从HTTP Live Stream(使用m3u,m3u8播放列表文件)无法在iPhone上获得歌曲名称和composer php姓名。 我试过从这个网站的tempomix收音机 。 这是链接到stream – http://stream21.group-network.net:9012 我正在尝试使用下一个代码: AVPlayerItem *playerItem = [AVPlayerItem playerItemWithURL:url]; _player = [[AVPlayer playerWithPlayerItem:playerItem] retain]; _player.actionAtItemEnd = AVPlayerActionAtItemEndNone; [_player addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:NULL]; [_player addObserver:self forKeyPath:@"currentItem" options:NSKeyValueObservingOptionNew context:NULL]; [_player addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:NULL]; 然后在这里等待callback: – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { 当callback来了 – 我检查AVPlayerStatus并运行播放。 收音机播放良好 – 但从来没有来观察ValueForKeyPath。 我知道这个问题看起来类似于这个问题,但描述的方法不适合我。 […]
如何将元数据标题发送到icecast服务器? 我正在录制AAC,并通过ios将其stream式传输到icecast服务器,但文件显示已损坏。 我怀疑需要添加元数据才能播放文件。 我如何发送元数据? 我应该把它作为一个string吗? 应该是什么格式?
我的应用程序允许用户访问通过networking播放audio书籍的服务。 我正在使用一个UIWebView来处理这个。 当应用程序退出或设备进入睡眠状态时,audio停止播放。 由于我只显示不直接播放audio文件的networking视图,因此我不能使用这些方法在后台播放audio。 但是,如果您通过Safari应用程序访问相同的链接,在手机进入睡眠状态后,audio会继续播放。 我怎样才能在我的应用程序中实现相同的效果?
我有一个mp3文件,所以我需要播放它,并显示一个均衡器(如附图)。 所以玩不是问题,但是我不知道如何根据频率来测量当前播放样本的dBs的功率。 通过哪些步骤,我可以获得显示当前采样的dBs的数据? 据我猜,我需要以不同的频率获得一些权力,对吗? 这里是我想要实现的例子: https://www.youtube.com/watch?v=7oeb-OIOe-0 https://www.youtube.com/watch?v=PwmUhTDr0Y0
我正在使用能够处理MP3,.WAV,.aac,.amr.ac-3,WAVaudio文件的audiostream媒体服务器。 我想通过编程将.caf文件转换为任何一种格式 。 请帮忙。 谢谢。
我试图实现无缝播放,因为当应用程序处于后台模式时,iOS会将我的AVPlayer闲置。 在回答之前,是的,我已经修改了plist,audio会话设置正确,一切都很好,但是我相信,我的问题本质上是不同的。 所以,起初我在我的课上有一个方法来初始化一个新的AVPlayer每当轨道URL改变,它运作良好,但在后台不是很多,我虽然每次创build一个全新的AVPlayer实例将无法正常工作,所以我切换到其他一些范例,比如replaceCurrentItemWithPlayerItem保持AVPlayer实例活着,甚至是AVQueuePlayer 。 我面对的问题是,在iOS 6上,audio停止的时刻,因为一个轨道完成,另一个还需要加载,iPhone冻结在后台我的应用程序。 如果我再次在前台获得我的应用程序,播放恢复正常。 由于我没有连续的stream,而是单独的URL来AVPlayerQueuestream,我虽然有关使用AVPlayerQueue和insertItem:next / advanceToNextItem策略,试图不让任何最小的audio中断冻结在后台的应用程序。 但问题仍然存在,因为我不得不在需求队列中添加新的轨道,并且缓冲iOS的时间已经认为我的应用程序值得停下来。 所以我需要在应用程序的生命周期适当的时间insertItem 。 那时我正试图听取这个KVO通知: [self.player.currentItem addObserver:self forKeyPath:@"playbackBufferFull" options:0 context:MyPlayerItemContext]; 但它永远不会被调用。 我们的想法是跟踪currentItem上的缓冲区,并在播放列表中追加下一个缓冲区,以便AVQueuePlayer 可以尝试预缓冲它。 由于playbackBufferFull永远不会被调用,另一个想法是试图抓取当前的时间/持续时间,计算90%的回放可能在哪里,并在适当的时间触发事件来开始缓冲下一个轨道。 这听起来很糟糕,因为对象的持续时间属性会根据渐进式传入数据而改变吗? 我还能采取哪些其他策略? 谢谢。
你好堆栈溢出用户, 我想在我的IOS应用程序中使用UISlided更改平移位置。 我正在升级整个应用程序,目前正在使用Matt Gallagher的 AudioStreamer 在下面的代码中使用AudioStreamer更改平移值。 AudioQueueRef audioQueue; //在AudioStreamer.h文件中定义 – (void)changePan:(float)newPan { OSStatus panErr = AudioQueueSetParameter( audioQueue, kAudioQueueParam_Pan, newPan); NSLog(@" setting pan: %ld", panErr); if( panErr ) NSLog(@"Error setting pan: %ld", panErr); } 我正在使用AudioUnitreplaceAudioStreamer与StreamingKit 如果我会得到一些帮助,使用StreamingKit或AudioUnit完成这件事,我将不胜感激。 PS让我知道是否有人需要更多的信息。 谢谢
我试图build立一个audio单元来渲染音乐(而不是audio队列..这是太不透明的我的目的).. iOS没有这个属性kAudioDevicePropertyBufferFrameSize ..任何想法如何我可以派生这个值来设置增加我的IO单元的缓冲区大小? 我发现这篇文章有趣..它询问使用kAudioSessionProperty_CurrentHardwareIOBufferDuration和kAudioSessionProperty_CurrentHardwareOutputLatencyaudio会话属性的组合来确定该值的可能性..但没有答案..任何想法?
我使用MPMoviePlayerController播放audiostream。 我的代码如下所示: Getting MPMoviePlayerController to Work with iOS4, 3.2 (iPad) and Earlier Versions of iPhone SDK 一切正常,但stream播放时没有“完成”button来closures播放器。 我先用普通的.mp3文件testing一下。 有了这个文件,我发现的唯一可能性就是跳到最后,所以播放器获取MPMoviePlayerPlaybackDidFinishNotification通知(但是由于没有时间线可以跳到最后,所以不能在无尽的stream中工作)。 我尝试过不同的样式,如[mp setControlStyle:MPMovieControlStyleFullscreen]; 没有成功。 在MPMoviePlayerController类的文档中包括 : 这个类可以播放iOS中支持的任何电影或audio文件。 这包括stream式内容和固定长度文件 在播放某些audio内容时是否可以显示该button,或者是否有其他解决scheme? 我试图给你看一个截图,但“新用户只能发布最多两个超链接”。