小编Bra*_*rad的帖子

在webview中播放应用本地视频(.mp4)

我有一个应用程序,我正在为iOS和Android编写.我有一个内容页面,我需要在UIWebView/WebView中链接到/播放.mp4视频.该视频将包含在应用中,以便可以脱机工作.

在iOS中,我只使用了一个视频标签(包含项目文件的源代码),然后使用NSNotifications全屏显示视频(app通常以纵向模式运行).任务完成.

在Android上我遇到了一些问题.

首先,当你使用本地图像作为视频海报时,它崩溃了应用程序(显然是一个已知的错误 - 使用远程图像解决了问题 - 虽然对离线模式没有多大帮助).

其次它不起作用.我已经尝试了远程和本地文件(引用文件:///android_asset/html/video.mp4).

我已经从android浏览器测试了.mp4,它播放没问题,所以我知道视频很好.

我尝试了使用视频链接的另一种方法.我在以下链接中找到了一个示例(必须使用谷歌缓存查看):http://webcache.googleusercontent.com/search?q = cache:Evz7nwc8718J:www.codelark.com/2010/05/12/android-观看视频从-嵌入式网页视图/ + HTTP://www.codelark.com/2010/05/12/android-viewing-video-from-embedded-webview/&cd=1&hl=en&ct=clnk&gl=uk

我的代码如下:

webengine = (WebView) findViewById(R.id.webview);
webengine.getSettings().setJavaScriptEnabled(true);
webengine.getSettings().setPluginsEnabled(true); 
webengine.getSettings().setAllowFileAccess(true);
webengine.setDownloadListener(new DownloadListener()
{
    public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long size)
    {
        Intent viewIntent = new Intent(Intent.ACTION_VIEW);
        viewIntent.setDataAndType(Uri.parse(url), mimeType);     
    try
    {
         startActivity(viewIntent);
    }
    catch (ActivityNotFoundException ex)
    {
         Log.w("sta", "Couldn't find activity to view mimetype: " + mimeType);
    }
}

});
webengine.loadUrl("file:///android_asset/html/index.html"); 
Run Code Online (Sandbox Code Playgroud)

通过远程视频链接,它会尝试打开Android浏览器,然后再回到应用程序.使用本地视频链接,似乎加载播放器,但我得到"无法播放视频 - 抱歉,此视频无法播放"

这是我的logcat日志:

I/ActivityManager(  168): Starting: …
Run Code Online (Sandbox Code Playgroud)

video mp4 android webview android-webview

6
推荐指数
1
解决办法
5439
查看次数

标签 统计

android ×1

android-webview ×1

mp4 ×1

video ×1

webview ×1