在android上和ipod上都能够控制视频窗口的大小,但是当安装在一个android的开发板上时,当播放视频时会全屏。求大神帮助下!
解决方案 »
- 参考Android下的系统级服务AlarmManagerService,自己加一个类似服务,系统老是不断重启!
- android发送短信的问题
- 谁能给个安卓avd完整的下载地址
- Activity模拟器横竖屏转换的问题
- 关于android软件~~业务试用与开通~~此功能实现问题???
- android icon 系统图标文件集锦打包,还有其它电子书,源码资源,绝对超值。。。。。。【自己推荐】
- help !!
- 关于android API人脸检测
- GridView只显示一个Item的数据
- 如何统计多个推广渠道的APP推广的效果呢?
- android launcher 在平板上显示手机的布局
- android 怎么把listview嵌套进界面中
import java.io.IOException;import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnBufferingUpdateListener;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.os.Environment;
import android.view.KeyEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.webkit.WebView;
import android.webkit.WebViewClient;public class ElebusDemActivity extends Activity implements
OnCompletionListener, Callback, OnBufferingUpdateListener,
OnPreparedListener {
/** Called when the activity is first created. */
private WebView webview;
private SurfaceView sView;
private String playPath;// 播放文件的路径
private SurfaceHolder hodler;
private String path = null; // 播放路径
private MediaPlayer mediaPlayer;
private int videoWhith;
private int videoHeight;
public int hour; // 小时
public int minute; // 分钟
public int second; // 秒m // 768px
// 1366px http://192.168.0.52/stations/display.php
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
mediaPlayer = new MediaPlayer();
sView = (SurfaceView) findViewById(R.id.surfaceView1);
// 得到SurfaceHolder对象
hodler = sView.getHolder();
// 设置回调函数
hodler.addCallback(this);
// 设置风格
hodler.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://192.168.0.52/stations/display1.html");
webview.setWebViewClient(new MyWebViewClient());
} private void play() {
path = Environment.getExternalStorageDirectory().getPath()
+ File.separatorChar+"VideosZip1" + File.separator + "video.mp4";
// path="mnt/sdcard-ext"+File.separator+ "VideosZip1" + File.separator + "video.mp4";
System.out.println("path----------->>>>>>>>>" + path);
// 构建MediaPlayer对象
try {
// 设置媒体文件路径
mediaPlayer.setDataSource(path); // 设置通过SurfaceView来显示画面
mediaPlayer.setDisplay(hodler);
// 准备
mediaPlayer.prepareAsync();
// 设置监听事件 } catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch blockj
e.printStackTrace();
}
mediaPlayer.setOnBufferingUpdateListener(this);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
event.startTracking();
finish();
System.exit(0);
return true;
} return super.onKeyDown(keyCode, event);
} public class MyWebViewClient extends WebViewClient {
public boolean shouldOverviewUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.seekTo(0);
mp.start();
} public void onPrepared(MediaPlayer mp) {
// TODO Auto-generated method stub
videoWhith = mediaPlayer.getVideoWidth();
videoHeight = mediaPlayer.getVideoHeight(); if (videoWhith != 0 && videoHeight != 0) {
// 设置视频的宽度和高度
hodler.setFixedSize(videoWhith, videoHeight);
// 开始播放
mediaPlayer.start();
}
} public void onBufferingUpdate(MediaPlayer mp, int percent) {
// TODO Auto-generated method stub } // 更改时触发事件
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub } // 当SurfaceHolder创建时触发
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
play();
} public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub }
// 销毁
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}