在我正在处理的应用程序中,我有一个音频流(使用 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/