ios - 检测 UIWebview 何时开始播放音频

标签 ios objective-c audio uiwebview

在我正在处理的应用程序中,我有一个音频流(使用 avplayer)可能正在播放也可能不播放(取决于用户输入)。当用户导航到另一个页面时,我有一个 UIWebView 出现,其中有一个网页提供用户可以收听的额外音频链接(我无法直接访问该网站的代码)。问题是,如果应用程序当前正在流式传输并且用户从 UIWebView 启动其他音频,则音频会重叠。

我设想的解决此问题的方法是,如果用户开始从 UIWebView 播放某些内容,则暂停流,如果他们不这样做,则不要管它。当 UIWebView 开始从网站播放音频时,有没有办法得到通知?或者是否有替代方法来确定何时开始播放来自 UIWebView 的音频?

最佳答案

当用户使用 webview 播放音频时,您可以使用下面的 webview 委托(delegate)方法来识别 URL 和其他有用信息,以便您可以在上一个屏幕暂停音频流。

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
     NSLog(@"@@@@@@@@@@@@@Navigation Type is:%ld",navigationType);
     NSLog(@"url: %@ Scheme:%@ Host:%@", [[request URL] absoluteString], request.URL.scheme ,request.URL.host);

    NSString *urlString =[NSString stringWithFormat:@"%@",request.URL];           
    if (navigationType == UIWebViewNavigationTypeOther) 
    {
       NSLog(@“@@@@@@@Pause the Streaming@@@@@@@@@@“);
    }    
      return YES;
    }

在上面找到在 webview 上单击音频时的 urlString 和 navigationType 是什么,以便您可以暂停音频流..

希望它对你有用..检查一下..!

关于ios - 检测 UIWebview 何时开始播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204335/

相关文章:

ios - AFNetworking - 队列请求

iphone - UIView 动画,变换 layer.shadowPath

ios - 如何使触摸事件通过 UIView(类似于指针事件 :none in CSS)?

c# - 检测是否正在播放音频

ios - 处理 Apple 的 "Data use & sharing"警告消息的推荐方法是什么?

iphone - 检查 bundle 中是否存在图像 - iPhone

ios - XCTest CLLocationManager 的委托(delegate)方法不会被调用

iphone - NSString 包含 : <null> and is crashing my app

redirect - Oculus Rift SDK 2更改旋转增益

javascript - 加载失败,因为未找到受支持的源。播放 HTML5 音频元素时