Cordova开发APK:如何调用Android原生播放器播放HTML5视频?
在Cordova中调用Android原生视频播放器打开本地视频
不用自己写Android原生Intent代码,借助Cordova的插件就能轻松实现调用系统原生播放器打开视频,解决WebView视频无法拖动的问题,具体步骤如下:
1. 安装必要插件
首先安装两个核心插件:
- 文件操作插件(用于获取本地视频的绝对路径):
cordova plugin add cordova-plugin-file
- 文件打开插件(用于调用系统应用打开视频):
cordova plugin add cordova-plugin-file-opener2
2. 编写JavaScript代码替换原video标签逻辑
把原HTML里的<video src="video.mp4"></video>替换成触发按钮(比如<button id="openVideoBtn">打开视频</button>),然后添加以下JS代码:
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { // 绑定按钮点击事件 document.getElementById('openVideoBtn').addEventListener('click', function() { // 定位到www目录下的video.mp4文件 window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + 'www/video.mp4', function(fileEntry) { var videoPath = fileEntry.toURL(); // 调用原生播放器打开视频 cordova.plugins.fileOpener2.open( videoPath, 'video/mp4', // 指定视频的MIME类型 { error: function(err) { console.log('打开失败:' + err.message); }, success: function() { console.log('视频已在原生播放器中打开'); } } ); }, function(err) { console.log('获取视频路径失败:' + err.message); }); }); }
原理说明
- Cordova的
cordova-plugin-file插件提供了统一的文件路径API,能帮你获取到应用内视频文件的绝对设备路径,这是调用系统播放器的前提。 cordova-plugin-file-opener2内部封装了Android的Intent逻辑,你不需要写任何原生代码,就能让系统自动唤起合适的原生视频播放器,原生播放器天然支持拖动、快进等所有标准视频操作。
内容的提问来源于stack exchange,提问作者Metalvain
相关产品推荐
相关产品推荐

