3

对于我的应用程序,我通过在 android.but 中使用 javacv/opencv 从一组图像创建视频。但是该视频播放时没有声音。所以我想将我录制的音频(mp3 文件)添加到生成的视频中,我该如何实现它?

这是我的代码,用于从图像中获取视频,

                String path =SCREENSHOT_FOLDER2; 

            File folder = new File(path);


                listOfFiles = folder.listFiles();  
                if(listOfFiles.length>0)
                {









              iplimage = new opencv_core.IplImage[listOfFiles.length];


               for (int j = 0; j < listOfFiles.length; j++) {

                 String files="";       

               if (listOfFiles[j].isFile()) 
               {
               files = listOfFiles[j].getName();

                 }   


                String[] tokens = files.split("\\.(?=[^\\.]+$)");
               String name=tokens[0]; 

                System.out.println(" j " + name);




              iplimage[j]=cvLoadImage("/mnt/sdcard/images/"+name+".png");


               }

            } 



                File videopath = new File(SCREENSHOT_FOLDER3);
                videopath.mkdirs();
                 FFmpegFrameRecord recorder = new          
                    FFmpegFrameRecord(SCREENSHOT_FOLDER3+
                  "video"+System.currentTimeMillis()+".mp4",320,480);

                 try {
                     recorder.setCodecID(CODEC_ID_MPEG4); //CODEC_ID_MPEG4                            
                     //CODEC_ID_MPEG1VIDEO
                     recorder.setBitrate(sampleVideoBitRate);
                     recorder.setFrameRate(10);                     
                     recorder.setPixelFormat(PIX_FMT_YUV420P); //PIX_FMT_YUV420P


                     recorder.start();

                     int x = 0;
                     int y = 0;
                    for (int i=0;i< 300 && x<iplimage.length;i++)

                       {

                         recorder.record(image[x]);

                        if (i>(y+10)) {
                            y=y+1;
                            x++;
                        }

                        }
                     recorder.stop();
                    }
                 catch (Exception e){
                     e.printStackTrace();
                   }

现在如何在此代码中集成音频文件(.mp3)文件。

4

2 回答 2

0

OpenCV 和随后的 JavaCV 不支持音频。

您必须为此使用不同的库。查看 Android 对视频/音频、第三方库或您可能认为有用的任何其他方式的支持。

但不要仅仅指望 OpenCV 能帮助你,因为它对音频的支持是 0%。

于 2012-12-07T10:29:45.907 回答
0

我不会说 JavaCV 不支持音频,因为它集成了许多 opencv 不支持的库——例如 ffmpeg。检查这个问题的长线程。

于 2012-12-09T16:53:15.837 回答