我正在编写一个可以录制3GP视频的应用程序。 我已尝试过MMAPI和Invoke API。但是有以下问题。
使用MMAPI:
"Unsupported media format."
使用Invoke API:
这是我的源代码:
_player = javax.microedition.media.Manager
.createPlayer("capture://video?encoding=video/3gpp&mode=mms");
//我已尝试从System.getProperty(“video.encodings”)方法返回每个编码
_player.realize();
_videoControl = (VideoControl) _player.getControl("VideoControl");
_recordControl = (RecordControl) _player.getControl("RecordControl");
_volumeControl = (VolumeControl) _player.getControl("VolumeControl");
String videoPath = System.getProperty("fileconn.dir.videos");
if (videoPath == null) {
videoPath = "file:///store/home/user/videos/";
}
_recordControl.setRecordLocation(videoPath + "RecordedVideo.3gp");
_player.addPlayerListener(this);
Field videoField = (Field) _videoControl.initDisplayMode(
VideoControl.USE_GUI_PRIMITIVE,
"net.rim.device.api.ui.Field");
_videoControl.setVisible(true);
add(videoField);
_player.start();
ON开始菜单项选择:
try {
_recordControl.startRecord();
} catch (Exception e) {
_player.close();
showAlert(e.getClass() + " " + e.getMessage());
}
关于停止menuItem选择:
try {
_recordControl.commit();
} catch (Exception e) {
_player.close();
showAlert(e.getClass() + " " + e.getMessage());
}
如果我做错了,请告诉我。
答案 0 :(得分:1)
我有同样的问题,我只知道这是RIM专有格式: http://docs.blackberry.com/en/developers/deliverables/11942/RIM_proprietary_video_format_1001586_11.jsp
您获得的文件大小为0,因为此代码为:
_recordControl.setRecordLocation(videoPath + "RecordedVideo.3gp");
我在复制RIM演示时遇到了同样的问题,但这是错误的。
请改用setRecordStream()
。