j2me 在特定位置实现视频播放
展开全部
1. 变量声明:
Player player;//播放器实例
VideoControl videoControl;//播放属性控件器
Canvas canvas;//你的屏幕实例,这里用的是canvas画布,如果你用Form的话会有所不同。
2. 播放器实例的生成 Player 类,来自midp2.0API
//生成player,四步,不能少
player=Manager.createPlayer(url);
player.addPlayerListener(this);
player.realize();
player.prefetch();
3. 设置播放器播制器,通过控件器设置播放器在屏幕的位置
videoControl = (VideoControl) player.getControl("VideoControl");
player.start();//先播放再设置videoControl的位置,注意这里可能根据不同手机有不同的特点,有些手机需要先设置位置再播放。
if (null != videoControl) {
//初始化模式为将视频输出到canvas画布
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,canvas);
//获取节目源的长宽
int videoWidth = videoControl.getSourceWidth();
int videoHeight = videoControl.getSourceHeight();
//这里做些设置,这里我给的是测试代码176X144,可以运行,但要效果好的话你要自己做好缩放,即根据节目源的长宽和你手机屏幕的长宽做最好的长宽设置
videoControl.setDisplaySize(176, 144);//你设置输出长宽比
videoControl.setDisplayLocation(0,20);//位置设置,左上角坐标
//videoControl.setDisplayFullScreen(true);//如果你要设全屏,就这样写
videoControl.setVisible(true);//显示出来
}
4。 实现视频播放监听器回调方法,写这个函数,系统会回调它
public void playerUpdate(Player per, String string, Object object) {
if (PlayerListener.END_OF_MEDIA.equals(string)) {
//播放结束,在这里写结束的处理
}else
if(PlayerListener.STARTED.equals(string)){
//播放开始,在这里写开始的处理,多半是输出些字符提示一下用户即可
}else
if(PlayerListener.BUFFERING_STARTED.equals(string)){
//数据播放正在缓冲,请稍候...
}else
if(PlayerListener.ERROR.equals(string)){
//出错
}else
if(PlayerListener.VOLUME_CHANGED.equals(string)){
//声音改变了, 在这里取一下声音的大小,然后把音量的图标改动一下,让用户知道现在音量多大
}
}
Player player;//播放器实例
VideoControl videoControl;//播放属性控件器
Canvas canvas;//你的屏幕实例,这里用的是canvas画布,如果你用Form的话会有所不同。
2. 播放器实例的生成 Player 类,来自midp2.0API
//生成player,四步,不能少
player=Manager.createPlayer(url);
player.addPlayerListener(this);
player.realize();
player.prefetch();
3. 设置播放器播制器,通过控件器设置播放器在屏幕的位置
videoControl = (VideoControl) player.getControl("VideoControl");
player.start();//先播放再设置videoControl的位置,注意这里可能根据不同手机有不同的特点,有些手机需要先设置位置再播放。
if (null != videoControl) {
//初始化模式为将视频输出到canvas画布
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,canvas);
//获取节目源的长宽
int videoWidth = videoControl.getSourceWidth();
int videoHeight = videoControl.getSourceHeight();
//这里做些设置,这里我给的是测试代码176X144,可以运行,但要效果好的话你要自己做好缩放,即根据节目源的长宽和你手机屏幕的长宽做最好的长宽设置
videoControl.setDisplaySize(176, 144);//你设置输出长宽比
videoControl.setDisplayLocation(0,20);//位置设置,左上角坐标
//videoControl.setDisplayFullScreen(true);//如果你要设全屏,就这样写
videoControl.setVisible(true);//显示出来
}
4。 实现视频播放监听器回调方法,写这个函数,系统会回调它
public void playerUpdate(Player per, String string, Object object) {
if (PlayerListener.END_OF_MEDIA.equals(string)) {
//播放结束,在这里写结束的处理
}else
if(PlayerListener.STARTED.equals(string)){
//播放开始,在这里写开始的处理,多半是输出些字符提示一下用户即可
}else
if(PlayerListener.BUFFERING_STARTED.equals(string)){
//数据播放正在缓冲,请稍候...
}else
if(PlayerListener.ERROR.equals(string)){
//出错
}else
if(PlayerListener.VOLUME_CHANGED.equals(string)){
//声音改变了, 在这里取一下声音的大小,然后把音量的图标改动一下,让用户知道现在音量多大
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询