RIM黑莓录制3GP视频

时间:2011-01-12 06:49:32

标签: blackberry java-me mmapi

我正在编写一个可以录制3GP视频的应用程序。 我已尝试过MMAPI和Invoke API。但是有以下问题。

使用MMAPI:

  1. 当我录制到流时,它以RIMM流格式录制视频。当我尝试播放此视频播放器时出现错误"Unsupported media format."
  2. 当我录制到文件时。它将创建一个大小为0的文件。
  3. 使用Invoke API:

    1. 在彩信模式下,它不允许录制视频超过30秒。
    2. 在正常模式下,文件的大小非常大。
    3. 一旦我调用相机应用程序,我就无法控制应用程序。
    4. 这是我的源代码:

             _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());
              }
      

      如果我做错了,请告诉我。

1 个答案:

答案 0 :(得分:1)

  1. 我有同样的问题,我只知道这是RIM专有格式: http://docs.blackberry.com/en/developers/deliverables/11942/RIM_proprietary_video_format_1001586_11.jsp

  2. 您获得的文件大小为0,因为此代码为:

  3. _recordControl.setRecordLocation(videoPath + "RecordedVideo.3gp");
    

    我在复制RIM演示时遇到了同样的问题,但这是错误的。   请改用setRecordStream()