iOS视频在静音时暂停

问题描述 投票:0回答:1

我正在WKWebView中加载视频。

var video_el = document.createElement('video');
video_el.controls = true;
video_el.setAttribute('webkit-playsinline', 'webkit-playsinline');// Fix fullscreen problem on IOS 8 and 9
video_el.setAttribute('playsinline', 'playsinline');// Fix fullscreen problem on IOS 10
video_el.src = ' https://video.com/playlist.m3u8';
video_el.style.width = "720px";
video_el.style.height = "480px";
video_el.style.position = 'absolute';
video_el.style.top = 0;
video_el.style.left = 0;
video_el.autoplay = true;        
document.getElementById('app').appendChild(video_el);

[当我尝试播放视频时,什么都没有发生。

然后我将视频静音:

video_el.muted = true

视频静音播放。

然后我关闭静音,视频自动暂停:

video_el.muted = false

[尝试按控件,视频或以编程方式按播放会导致从播放到暂停的停顿。

video_el.play();

这也是我的WKWebView配置:

- (WKWebViewConfiguration*) createConfigurationFromSettings:(NSDictionary*)settings
    {
    WKWebViewConfiguration* configuration = [[WKWebViewConfiguration alloc] init];
    configuration.processPool = [[CDVWKProcessPoolFactory sharedFactory] sharedProcessPool];
    if (settings == nil) {
        return configuration;
    }

    configuration.allowsInlineMediaPlayback = YES;
    configuration.mediaPlaybackRequiresUserAction = NO;
    configuration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;
    configuration.suppressesIncrementalRendering = [settings cordovaBoolSettingForKey:@"SuppressesIncrementalRendering" defaultValue:NO];
    configuration.mediaPlaybackAllowsAirPlay = [settings cordovaBoolSettingForKey:@"MediaPlaybackAllowsAirPlay" defaultValue:YES];
    return configuration;
}
ios cordova html5-video wkwebview http-live-streaming
1个回答
0
投票

上述解决方案是关闭并重新打开该应用程序。我在Safari中进行调试,每当我要测试更改时,我都会刷新页面/窗口。这某种程度上导致了上述问题。

© www.soinside.com 2019 - 2024. All rights reserved.