IOS7-UIWebView : HTML5 audio pauses when app enters background

标签 ios audio ios7 youtube html5-audio

这个问题不是这个问题的重复帖子 UIWebView: HTML5 audio pauses in iOS 6 when app enters background

我可以从控制中心访问轨道,但音频已停止。 如何避免暂停状态,或者如何在后台线程中重放轨道?

我所有的代码都在这里。您可以将代码粘贴到一个新的空 ios 应用程序的 AppDelegate 中

  • 添加 AVFoundation 框架
  • 启用背景音频
  • 我的不工作,它出现在控制中心,但当应用程序进入后台时音乐暂停!

    #import "AppDelegate.h"
    #import <AVFoundation/AVFoundation.h>
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
        // Override point for customization after application launch.
    
        AVAudioSession *audioSession = [AVAudioSession sharedInstance];
        BOOL ok;
        NSError *setCategoryError = nil;
        ok = [audioSession setCategory:AVAudioSessionCategoryPlayback
                                 error:&setCategoryError];
        if (!ok) {
            NSLog(@"%s setCategoryError=%@", __PRETTY_FUNCTION__, setCategoryError);
        }
    
    
        UIViewController *vc = [[UIViewController alloc] init];
        UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController: vc];
        self.window.rootViewController = nav;
    
    
        //WEBVIEW
        UIWebView *myWeb = [[UIWebView alloc] initWithFrame:CGRectMake(0, 200, 320, vc.view.frame.size.height)];
        myWeb.mediaPlaybackRequiresUserAction = NO;
        myWeb.allowsInlineMediaPlayback = YES;
        [vc.view addSubview:myWeb];
        NSURLRequest *request = [[NSURLRequest alloc] initWithURL: [NSURL URLWithString: @"http://www.romito.fr/public/inlineHTML5/"]];
        [myWeb loadRequest: request];
    
    
        self.window.backgroundColor = [UIColor whiteColor];
        [self.window makeKeyAndVisible];
        return YES;
    }
    

最佳答案

我尝试了您的示例代码,url 给出了 404。我尝试了以下 url,后台模式按预期工作。 http://hpr.dogphilosophy.net/test/

当我禁用背景音频时,背景音频按预期暂停。我已经包含了三种不同的方式来启用背景音频。

长话短说,您应该在 plist 中确认背景音频确实已启用。如果还是无法获取,请发布更多代码。

Enabling background audio via Capabilities

Enabling background audio via plist

Enabling background audio via raw plist

关于IOS7-UIWebView : HTML5 audio pauses when app enters background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21371475/

相关文章:

iOS 区域监控 : Is my app crashing or is this expected?

ios应用程序随机崩溃

xcode - 反向地理编码以仅以英文返回结果?

iOS 在方向改变时触发滚动事件

ios - UIPinchGestureRecognizer 调整自定义 UIView 的大小

ios - 这会导致保留周期吗? (obj-c,示例代码)

linux - ffmpeg 改变输出的顺序

jquery - 如何在HTML5音频播放器的播放列表中获取每首歌曲的持续时间?

objective-c - 为什么这个 UIButton/IBAction 不刷新我的页面?

javascript - 在 Javascript 中选择随机音频文件(Chrome 扩展)