J2ME多媒体开发_摄像头操作
//开始摄像头视频
private void startPlay()
{
try {
//创建摄像头视频采集播放器对象
player
= Manager.createPlayer("capture://video");
player.realize();
vc =
(VideoControl)player.getControl("VideoControl");
vc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,
this);
setSuitedSize();
//设置视频控制可见
vc.setVisible(true);
//设置无限循环
player.setLoopCount(-1);
//开始播放
player.start();
}
catch (MediaException e)
{
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
private void setSuitedSize()
{
try
{
vc.setDisplaySize(getWidth(),
(int)(1.0D * vc.getSourceHeight() * getWidth() /
vc.getSourceWidth()) );
}
catch (MediaException e) {}
//设置居中显示
vc.setDisplayLocation((getWidth()
- vc.getDisplayWidth() ) / 2,
(getHeight() - vc.getDisplayHeight() ) / 2);
}
//采集数据
private void doSnapshot()
{
byte[] data = null;
try
{
//获取视频快照数据
data = vc.getSnapshot("png"); //jpeg
//使用视频数据创建图片对象
snapshotImage = Image.createImage(data, 0, data.length);
endPlay();
}
catch (MediaException e)
{}
}
J2ME多媒体开发_音乐文件的播放
private Player player;
//加载及播放
try
{
InputStream
is = getClass().getResourceAsStream(fileName);
player =
Manager.createPlayer(is, "audio/midi");
player.setLoopCount(-1);
player.realize();
player.prefetch();
player.start();
}
catch (Exception ex) {}
//设置音量
public void setMusicVolume(int level)
{
if
(player != null)
{
VolumeControl control = (VolumeControl)
player.getControl("VolumeControl");
control.setLevel(level);
}
}
//暂停音乐
public void stopMusic()
{
if
(isPlayMusic && player != null)
{
try
{
player.stop();
playState = 0;
} catch (MediaException ex) {}
}
}
//关闭音乐
public void
closeMusic()
{
if
(isPlayMusic && player != null)
{
player.close();// 关闭播放器
player = null;
}
}
J2ME多媒体开发_动画播放
通过Image类添加GIF文件所显示的图像,实际上是GIF文件中第一帧动画的内容
怎么让GIF动画动起来呢?MMAPI来解决!
private Player player = null;
private VideoControl vc = null;
private Item item = null;
try
{
player =
Manager.createPlayer(getClass().getResourceAsStream("/**.gif", "image/gif");
player.realize();
vc = (VideoControl)player.getControl("VideoControl");
//生成项目
item
= (Item)vc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE,
null);
//设置布局
item.setLayout(Item.LAYOUT_CENTER
| Item.LAYOUT_VCENTER);
//设置合适大小
setSuitedSize();
//设置无限循环
player.setLoopCount(-1);
player.start();
}
catch (Exception e) {}
public void setSuitedSize()
{
try
{
vc.setDisplaySize(mainPanel.getWidth(),
(int)(1.0D
* vc.getSourceHeight() * mainPanel.getWidth() /
vc.getSourceWidth()) );
}
catch
(MediaException e) {}
}
浙公网安备 33010602011771号