gpt4 book ai didi

ios - 当我使用 AVPlayer 播放音频时,如何在 UIWebView 中暂停音频

转载 作者:行者123 更新时间:2023-11-29 00:54:51 25 4
gpt4 key购买 nike

我有一个 UIWebView 播放音乐,当我使用 AVPlayer 播放音频时,它们一起播放。

我尝试使用AVAudioSession来控制它。但不工作。

这是我的代码

- (IBAction)click:(id)sender {

NSURL *url = [NSURL URLWithString:@"http://mmmono.qiniudn.com/1c16bee1df0dbfbfea04ae11d8d8d021.mp3"];
self.player = [AVPlayer playerWithURL:url];
[self.player play];

[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryAmbient error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
}

- (void)viewDidLoad {
[super viewDidLoad];

self.webView.mediaPlaybackRequiresUserAction = NO;
NSURL *url = [NSURL URLWithString:@"http://mmmono.com/g/meow/560885/"];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
}

最佳答案

切勿尝试此操作,但您可以使用 javascript 和 UIWebView stringByEvaluatingJavaScriptFromString 来查找 WebView 上的所有音频标签,并使用 javascript 的“pause()”函数设置每个 DOM 停止播放音频。

准备javascript函数。 (如果你有那个网站的 html,javascript,你可以直接在 .js 文件或 <script> 标签中编写下面的函数)

NSString *pauseScriptString = @"function pauseAllAudio() {\
var audios = document.getElementsByTagName(\"audio\");\
if(audios.length > 0){\
for(var i = 0; i< audios.length; i++){\
audios[i].pause();\
}\
}\
}";

将 javascript 加载到 webview,以便稍后调用它执行。

[yourWebview stringByEvaluatingJavaScriptFromString: pauseScriptString];

执行暂停脚本

[youWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"pauseAllAudio()"]];

关于ios - 当我使用 AVPlayer 播放音频时,如何在 UIWebView 中暂停音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37704807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com