在我正在处理的应用程序中,我有一个音频流(使用avplayer)可能会播放也可能不播放(取决于用户输入)。当用户导航到另一个页面时,我会看到一个UIWebView,其中有一个网页,提供用户可以收听的音频的附加链接(我无法直接访问该网站的代码)。问题是,如果应用程序当前正在流式传输并且用户从UIWebView启动其他音频,则音频会重叠。
我设想解决这个问题的方法是,如果用户开始从UIWebView播放某些内容,则暂停该流,如果他们不这样做则不管它。有没有办法在UIWebView开始播放网站音频时收到通知?或者是否可以选择何时开始播放来自UIWebView的音频?
答案 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以便你可以暂停音频流..
希望它对你有用。一旦检查它......!