html5videoandroid
⑴ 如何用Android webview播放HTML5 video标签
第一步当然是要先有个Webivew对象,是写在main.xml也好,或者动态创建也罢,总之有了一个Webview对象即可,假设其名为m_webview,然后设置一些属性:
m_webview.getSettings().setjavaScriptEnabled(true);
m_webview.setWebChromeClient(m_chromeClient);
本
来以为要设置m_webview.getSettings().setPluginsEnabled(true);但后来发弊裤现去掉后也不影响效果。上面主
要的是setWebChromeClient这个,要设置一个WebChromeClient对象给webview,WebChromeClient对象
这样创租举简建:
private WebChromeClient m_chromeClient = new WebChromeClient(){
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
}
};
2.如何在activity结束时停止播放:
能够播放视频了,但发现当activity结束时,视频在答贺后边还在播放,实在令人烦恼,又查了一通资料,终于找到解决方法,非常简单,就是在activity的onPause函数中调用webview的onPause函数即可。
以上是Android 4.0.3中实现的,在Android2.2,2.3这些版本没有试过,未必起作用。
⑵ android支持html5 video标签,实现在线播放吗
支持。
可以这么写键轿:<video>
<稿贺肆source src="拍胡movie.ogg" type="video/ogg">
<source src="movie.mp4" type="video/mp4">
你的浏览器不支持video标签
</video>
⑶ android支持html5 video标签,实现在线播放吗
可以,并且目前h5视频播放已在手机端形成主流
⑷ 如何让android 手机支持 html5 video 标签 播放
Android 是可以通过html5的video来播放视频的。
一、需要在AndroidManifest.xml文件中声明需要使用HardwareAccelerate, 可以细化到Activity级别,如果不需要的View可以声明不要用加速,但是需要在代码中做
具体如下:
1如果要声明整个应用都要加速:< application ... android:hardwareAccelerated ="true">
2.如果要在Activity中声明,则:
<activity ... android:hardwareAccelerated="true" >
Window, getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
⑸ 如何html5在浏览器里访问手机后置摄像头
html5需要使用接口chrome30+ for android 已经实现了利用webcam,调用手机后置摄像头,代码如下:
<!DOCTYPEhtml>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HTML5GetUserMediaDemo</title>
<metaname="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1.0"/>
</head>
<body>
<inputtype="button"title="开启摄像头"value="开启摄像头"onclick="getMedia();"/><br/>
<videoheight="120px"autoplay="autoplay"></video><hr/>
<inputtype="button"title="拍照"value="拍照"仿裤onclick="getPhoto();"/><br/>
<canvasid="canvas1"height="120px"></canvas><hr/>
<inputtype="button"title="视频"value="视频"onclick="getVedio();"/><br/>
<canvasid="canvas2"height="120px"></canvas>
<scripttype="text/javascript">
varvideo=document.querySelector('video');
varaudio,audioType;
varcanvas1=document.getElementById('canvas1');
varcontext1=canvas1.getContext('2d');
varcanvas2=document.getElementById('canvas2');
varcontext2=canvas2.getContext('2d');
navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;
window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL;
varexArray=[];//存储设备源ID
MediaStreamTrack.getSources(function(sourceInfos){
for(vari=0;i!=sourceInfos.length;++i){
varsourceInfo=sourceInfos[i];
//这里会遍历audio,video,所以要加以区分
if(sourceInfo.kind==='video'){
exArray.push(sourceInfo.id);
}
}
});
functiongetMedia(){
if(navigator.getUserMedia){
navigator.getUserMedia({
'video':{
'optional':[{
'sourceId':exArray[1]//0为前置摄像头,1为后置
}]
},
'audio':true
},successFunc,errorFunc);//success是获取成功的回调函数
}
else{
信早alert('Nativedevicemediastreaming(getUserMedia)notsupportedinthisbrowser.');
}
}
functionsuccessFunc(stream){
//alert('Succeedtogetmedia!');
if(video.mozSrcObject!==undefined){
//Firefox中,video.mozSrcObject最初为null,而不是未定义的,我们可以靠这个来检测Firefox的支持
video.mozSrcObject=stream;
}
else{
video.src=window.URL&&window.URL.createObjectURL(stream)||stream;
}
//video.play();
滑大雀//音频
audio=newAudio();
audioType=getAudioType(audio);
if(audioType){
audio.src='polaroid.'+audioType;
audio.play();
}
}
functionerrorFunc(e){
alert('Error!'+e);
}
//将视频帧绘制到Canvas对象上,Canvas每60ms切换帧,形成肉眼视频效果
functiondrawVideoAtCanvas(video,context){
window.setInterval(function(){
context.drawImage(video,0,0,90,120);
},60);
}
//获取音频格式
functiongetAudioType(element){
if(element.canPlayType){
if(element.canPlayType('audio/mp4;codecs="mp4a.40.5"')!==''){
return('aac');
}elseif(element.canPlayType('audio/ogg;codecs="vorbis"')!==''){
return("ogg");
}
}
returnfalse;
}
//vedio播放时触发,绘制vedio帧图像到canvas
//video.addEventListener('play',function(){
//drawVideoAtCanvas(video,context2);
//},false);
//拍照
functiongetPhoto(){
context1.drawImage(video,0,0,90,120);//将video对象内指定的区域捕捉绘制到画布上指定的区域,实现拍照。
}
//视频
functiongetVedio(){
drawVideoAtCanvas(video,context2);
}
</script>
</body>
</html>
HTML5 The Media Capture API提供了对摄像头的可编程访问,用户可以直接用getUserMedia获得摄像头提供的视频流。但实际上用html5调用手机摄像头存在很多问题:
1)谷歌的发布的Chrome到了21版本后,才新增了一个用于高质量视频音频通讯的getUserMedia API,该API允许Web应用程序访问摄像头和麦克风,其他手机浏览器只有opera支持html5调用本地拍照功能
2)两个浏览器均不支持访问多个摄像头:chrome不支持访问后置摄像头,pera支持访问后置摄像头的
⑹ android支持html5 video标签,实现在线播放吗
以实现在线播放的
不过你要调用系统的播放器才可以,你自己看吧 我也被这个整了好久
如下代码森含:
稿罩//html
<video autoplay="autoplay" controls="controls" id="youku-html5-player-video" onclick="playVideo('IP/player/getRealM3U8/vid/XNDE4NjIwOTI0/type//video.m3u8');" preload="" src="IP/player/getRealM3U8/vid/XNDE4NjIwOTI0/type//video.m3u8" width="100%" x-webkit-airplay="allow">
Your browser does not support the video tag.</video>
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
//java
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activiy) {
this.activity = activiy;
}
public void startVideo(String videoAddress){
//调用播放器(这里此敬笑看你自己怎么写了)
Bundle bundle = new Bundle();
bundle.putString("path", address);
MyIntent.startIntent(WebViewActivity.this, MyIntent.VIDEO, bundle);
}
}
⑺ 如何用Android webview播放HTML5 video标签
1.如何播放:
近来工作要用Android的webview播放中迅HTML5 video标签。做了下试验,物培圆用Android自带的Browser可以装载含有video标签的HTML5页面,而且能正常播放,但同样的网页用webview来加载就没法播放HTML5中的video。
在网上查了许多资料,所查的资料可以参考我转载那些文章,经过无数次测试,终于成功了,做法如下:
第一步当然是要先有个Webivew对象,是写在罩塌main.xml也好,或者动态创建也罢,总之有了一个Webview对象即可,假设其名为m_webview,然后设置一些属性:
m_webview.getSettings().setJavaScriptEnabled(true);
m_webview.setWebChromeClient(m_chromeClient);
本来以为要设置m_webview.getSettings().setPluginsEnabled(true);但后来发现去掉后也不影响效果。上面主要的是setWebChromeClient这个,要设置一个WebChromeClient对象给webview,WebChromeClient对象这样创建:
private WebChromeClient m_chromeClient = new WebChromeClient(){
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
}
};
⑻ 如何用Android webview播放HTML5 video标签
用Android webview播放HTML5 video标签: 1、在webView的Activity配置里面加上: android:hardwareAccelerated="森银true" 2.必须此枣宴添加这句代码 webView.setWebChromeClient(new WebChromeClient()); 这两步就可以播放了,在application的配置里面也要加上:android:hardwareAccelerated="true",开岩州始的时候我也加了,但是后来发现去掉这个也一样可以播放flash