我认为一切都在标题中。
我有一个播放音乐的UIWebiew,当用户使用电源或主页按钮,将应用程序放在后台时,我希望音乐能够继续播放。
有可能吗?
感谢您的帮助!
答案 0 :(得分:5)
您无法使用UIWebView实际执行此操作,但您仍然可以执行此操作。此方法仍然通过URL流式传输在线资源的音频。这里有一些代码可以帮到你。现在,假设你想要在应用程序退出视频时传输音频,那么它非常相似,但是使用MediaPlayer框架而不是AVAudioPlayer框架。
NSURL *url = [NSURL URLWithString:@"http://website.com/audio.mp3"];
NSData *data = [NSData dataWithContentsOfURL:url];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:nil];
[audioPlayer play];
答案 1 :(得分:3)
有点棘手,但有可能。来自以下官方Apple文档:
https://developer.apple.com/library/ios/qa/qa1668/_index.html
您需要先在plist中声明UIBackgroundModes
的{{1}},然后在audio
AppDelegate
现在,当您从UIWebView播放音频时,您可以转到主屏幕,切换到另一个应用程序或锁定屏幕,音频将继续播放。
答案 2 :(得分:0)
我不相信这是可能的,即使在查看UIWebView
的文档后,我也发现以下三个与媒体播放相关的属性。
allowsInlineMediaPlayback property
mediaPlaybackRequiresUserAction property
mediaPlaybackAllowsAirPlay property
不幸的是,他们都没有这样做。
答案 3 :(得分:0)
是的,这是可能的。你需要这样做:
@import AVFoundation;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: nil];
所需的背景模式:App使用AirPlay播放音频或流音频/视频
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>