如何在底部面板中存储当前音频信息(AVAudioPlayer,Swift)[重复]
Posted
技术标签:
【中文标题】如何在底部面板中存储当前音频信息(AVAudioPlayer,Swift)[重复]【英文标题】:How to store current audio information in bottom panel (AVAudioPlayer, Swift) [duplicate] 【发布时间】:2015-10-11 10:54:10 【问题描述】:我正在使用 AVPlayer 播放音频,但是当它播放时,底部 ios 面板中没有任何关于它的信息
那么,如何在此处添加有关我的音频的信息,并将系统音量级别与我的 UISlider 在更改音量的应用程序中同步?在锁定屏幕上制作播放和暂停按钮也很重要,但我不知道该怎么做。我也不知道 obj-c,这就是为什么堆栈上的一些示例对我来说不可用。
【问题讨论】:
我认为您需要在应用程序中启用音频的后台播放才能使其正常工作,请参阅answer @Scriptable 我做到了。它会在我离开应用或锁定屏幕时播放 你也有这个代码吗?[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
。看来您需要使用MPNowPlayingInfoCenter Class
【参考方案1】:
可能重复,请检查此answer。
如果链接中断,您似乎需要启用远程控制事件:
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
这应该启用播放/暂停按钮以将控件发送到您的应用程序。您需要手动设置正在播放的信息...
// Swift code, will need converting
var mpic = MPNowPlayingInfoCenter.defaultCenter()
mpic.nowPlayingInfo = [
MPMediaItemPropertyTitle:"This Is a Test",
MPMediaItemPropertyArtist:"Matt Neuburg"
]
您还需要对收到的控制事件采取行动:
- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent
if (receivedEvent.type == UIEventTypeRemoteControl)
switch (receivedEvent.subtype)
case UIEventSubtypeRemoteControlTogglePlayPause:
[self playOrStop: nil];
break;
case UIEventSubtypeRemoteControlPreviousTrack:
[self previousTrack: nil];
break;
case UIEventSubtypeRemoteControlNextTrack:
[self nextTrack: nil];
break;
default:
break;
【讨论】:
这并不能回答 OP 的问题,您假设 OP 知道他将播放的每个声音的 mp3 标题和艺术家。 我认为这确实回答了操作员的问题,他不必设置正在播放的信息,或者至少将其设置为名称。启用 remoteControlEvents 应该使按钮能够像他要求的那样在主屏幕上工作。他可以将标题设置为“MyAppName - Audio”或其他任何内容。而且我确实说过可能重复...如果它没有帮助,那么我很乐意将其删除。不过,在他回应之前,我们不会知道。哦,我从来没有提到过 MP3 文件? 就是这样,非常感谢。但是现在如何从底部面板获取音量滑块的值并在我的应用程序中为我的 uISlide 设置相同的值?如何同步它们? developer.apple.com/library/prerelease/ios/documentation/… ***.com/a/31540153/2303865以上是关于如何在底部面板中存储当前音频信息(AVAudioPlayer,Swift)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
短视频运营短视频剪辑 ④ ( 将文字转音频添加到视频中 | 编辑 TTS 音频信息 | 组合重叠人声音频添加 | 音频爆音处理 )