草庐IT

iphone - 当网络激活(并准备播放)时,如何从 AVQueuePlayer/AVPlayerItem 获得回调?

我有一个基于AVQueuePlayer的音频流播放器,需要在后台运行。播放器需要继续运行,直到播放完所有列表。当然,如果网络连接变差,它将不得不暂停,但当网络连接恢复时,它应该会自动恢复。为此,我正在监控AVPlayerItem.statusAVPlayerItem.playbackLikelyToKeepUpAVPlayer.currentItemAVPlayer.statusAVPlayer.error使用KVO。例如,如果网络连接从临时错误中恢复,我希望currentAVPlayerItem.status变为AVPlayerStatusItemReadyToPlay,这将报告给我

ios - MPNowPlayingInfoCenter 始终处于播放状态

我的MPNowPlayingInfoCenter已启动并正在运行,但仍然存在一个问题。无论我的实际播放器状态如何,MPNowPlayingInfoCenter始终在“播放”并显示暂停按钮。按下时会触发暂停事件。当我的播放器改变状态时,例如暂停,我通过MPNowPlayingInfoPropertyPlaybackRate键更新MPNowPlayingInfoCenter。有没有其他方法可以将MPNowPlayingInfoCenter状态设置为暂停?感谢任何提示! 最佳答案 试试这个:NSMutableDictionary*curr

ios - 使用 AVAudioSession AVAudioSessionCategoryPlayAndRecord 静音所有推送通知声音和振动。即使应用程序在后台

我正在开发一个应用程序,它可以在应用程序处于前台和后台时进行一些记录。哪个有效。但是,我注意到每当我的AudioSession(见下文)处于事件状态时,“系统”听起来像推送通知警报声以及振动被静音。即使应用程序处于后台也是如此。结果是,当我的应用程序处于后台并且正在录制时,我不再收到短信等标准内容的通知声音/氛围。AudioSession设置如下:AVAudioSession*session=[AVAudioSessionsharedInstance];[sessionsetCategory:AVAudioSessionCategoryPlayAndRecordwithOptions:

ios - 如何在后台开始录制 iOS Audio Session ?

我正在尝试在我的应用程序在后台但不是最前沿被唤醒后启动一个kAudioSessionCategory_RecordAudio(比如在显着的位置变化期间,我已经看到商店中的其他应用程序这样做所以我知道这是可能的)。但是每当我尝试像这样开始AudioSession时CheckError(AudioQueueStart(队列,无效的),"AudioQueueStart失败");我收到这个错误:错误:AudioQueueStart失败(-12985)所以我阅读了该内容,但唯一的建议是将AudioSession设置为事件AudioSessionSetActive(YES)但这也失败并出现'!ca

ios - 音频播放器在后台播放,应该基于硬件静音开关工作

我想在前台、后台播放音频文件,它应该与静音开关一起工作,即如果静音开关打开,那么它不应该播放,如果静音开关关闭应该播放音频。**我正在开发SIP调用应用程序。当用户接到电话时,应用程序应播放声音/铃声。如果应用程序在后台/前台,它应该播放,如果硬件静音开关打开/关闭,它应该静音/取消静音。为此,我使用了带有以下代码的AVPlyaer。AVAudioSession*session=[AVAudioSessionsharedInstance];[sessionsetCategory:AVAudioSessionCategoryPlaybackerror:&error];[sessionse

ios - iPad 上的 AudioServicesPlaySystemSound Volume

在我的应用程序中,我使用AudioServicesPlaySystemSound来播放小的caf文件。在iPhone上运行我的应用程序并通过横向按钮更改音量时,应用程序的声音会发生变化也是,但在iPad上,我的应用程序中的声音音量始终相同。可能是因为在iPhone上是铃声音量,而在iPad上是设备音量。如何在iPad上获得相同的iPhone行为?请原谅我的英语不好.... 最佳答案 我遇到了同样的问题,但如果您使用按钮更改系统音量,所有系统声音都将与您的应用程序一起修改。我发现这真的很烦人。解决方案是使用AVAudioPlayer代

objective-c - 对于 iPhone 上的类似卡拉 OK 的应用程序,我应该如何使用音频突出显示文本?

例如,我有一个应用程序可以一次显示3或4行歌词block。现在,我想触发一个音频文件开始播放,然后用音频本身来计时突出显示歌词。有点像从一个词跳到另一个词的弹跳球。我唯一能想到的是,我需要为每个音频文件创建元数据,这样我就可以启动一个与音频文件一起运行的计时器。或者也许iOS中的音频播放器可以公开其自己的运行计时器,我可以触发突出显示的单词在特定时间点发生变化?知道最好的方法吗?如果我必须每秒检查单词是否应该更改,我认为这可能会对处理器造成负担,但我不知道如何触发它。 最佳答案 这不是我所知道的最佳答案,但在使用CoreAnimat

iOS6 多路由音频

iOS6.0为iPhone/iPad带来了“多路由音频”支持。例如,DJay应用程序的优势在于允许用户在播放另一副牌时通过耳机听到另一副牌。唯一提到的是在AVAudioSession类引用中:AVAudioSessionCategoryMultiRouteAllowsyoutooutputdistinctstreamsofaudiodatatodifferentoutputdevicesatthesametime.Forexample,youwouldusethiscategorytorouteaudiotobothaUSBdeviceandasetofheadphones.Useof

ios - Phonegap 混合音频文件

我正在使用PhonegapforIos构建卡拉OK应用。我可以使用media.play()函数播放www/assets文件夹中的音频文件这允许用户收听背景音轨。当媒体正在播放时,另一个媒体实例正在录制。录音完成后,我需要将录音文件放在背景音轨上,但我不知道该如何去做。我认为可能有效的一种方法是使用WEb音频API-我有以下代码,这些代码来自HTML5Rocks它将两个文件加载到一个AudioContext中,并允许我同时播放这两个文件。但是,我想做的是将两个缓冲区写入一个.wav文件。有什么办法可以将source1和source2合并到一个新文件中吗?varcontext;varbuf

ios - 音频慢动作,例如使用 240FPS 的默认慢动作相机功能

我想在相机中实现慢动作视频,例如慢动作的Defalut功能,我使用了以下代码,它对视频效果很好。但在该视频的音轨中无法正常工作。doublevideoScaleFactor=8.0;compositionAudioTrackscaleTimeRange:CMTimeRangeMake(kCMTimeZero,videoDuration)toDuration:CMTimeMake(videoDuration.value*videoScaleFactor,videoDuration.timescale)];[compositionVideoTrackscaleTimeRange:CMTim