我有一个应用程序,我正在为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)