检测UIWebview何时开始播放音频

时间:2015-05-13 01:55:56

标签: ios objective-c audio uiwebview

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

我设想解决这个问题的方法是,如果用户开始从UIWebView播放某些内容,则暂停该流,如果他们不这样做则不管它。有没有办法在UIWebView开始播放网站音频时收到通知?或者是否可以选择何时开始播放来自UIWebView的音频?

1 个答案:

答案 0 :(得分:1)

当用户使用webview播放音频时,您可以使用webview的以下委托方法来识别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以便你可以暂停音频流..

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