3

私のアプリケーションでは、androidで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のサポートをご覧ください。

ただし、オーディオのサポートは0%であるため、OpenCVが役立つことを期待しないでください。

于 2012-12-07T10:29:45.907 に答える
0

JavaCV は、opencv がサポートしていない多くのライブラリ (たとえば ffmpeg) を統合しているため、オーディオをサポートしていないとは言えません。その問題については、この長いスレッドを確認してください。

于 2012-12-09T16:53:15.837 に答える