WKWebView调用js播放audio音频

这个网页音乐本来是自动播放的,用QQ打开这个链接测试过,会自动播放音乐,现在要用WkWebView来实现进入自动播放音乐

问题:

1、先看下,播放音乐的效果,这个音乐图标是旋转的

2.gif

2、看图我们可以发现,点进去不会播放音乐

解决:

1、这是电脑端,可以这个 audio这个节点的idmedia,

我们可以利用js来控制这个节点播放。

Snip20160123_1.png

2、这是正常加载 html 的局部代码,默认是不播放图片的

  • 代码:
- (void)viewDidLoad
{
    [super viewDidLoad];    
    // 初始化页面
    [self setupView];
}
#pragma mark - 初始化页面
- (void)setupView
{
    // 1、展示广告的网页
    WKWebView *webView = [[WKWebView alloc] initWithFrame: self.view.bounds];
    [self.view addSubview: webView];
    
    // 2、设置代理
    //webView.delegate = self;
    
    // 3、设置请求路径
    NSURL *url = [NSURL URLWithString: self.adBannerItem.url];
    
    // 4、创建请求
    NSURLRequest *request = [NSURLRequest requestWithURL: url];
    
    // 5、加载请求
    [webView loadRequest: request];
    self.webView = webView; 
}
  • 效果图:


    1.gif

3、为webView加上navigationDelegate代理,并遵循WKNavigationDelegate协议。

  • 代理:
// 主要实现了涉及到导航跳转方面的回调方法
webView.navigationDelegate = self;
  • 实现代理方法
#pragma mark - WKNavigationDelegate
#pragma mark 页面加载完成后调用
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
    WTLogFunc;
    // 获取 id = 'media' 的'audio'节点,并播放
    [self.webView evaluateJavaScript: @"var audio = document.getElementById('media'); audio.play();" completionHandler: nil];
}

  • 效果图片:


    3.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,549评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,291评论 25 708
  • 今天是军训的第五天,班助从昨天开始就一直说我们不认真。我很不服气!老师说过要透过现场看本质,她没有跟我们一起经历过...
    朝颜sweet阅读 212评论 3 2
  • 感激101-005 感激我的60亿个细胞能很好的沟通和连接,让我成为一个完美的整体,能够轻易体验到这强大的生命力!...
    我和榕树阅读 179评论 0 0
  • 那是2010年的9月,一个酷暑难耐的秋天。 2017.8.30 天气:阴 星期三 那是我们向往并期...
    周小北baby阅读 945评论 23 19

友情链接更多精彩内容