android - 如何使用 javacv/opencv 在 android 中将音频与视频集成?

标签 android audio opencv ffmpeg javacv

对于我的应用程序,我通过在 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)。

最佳答案

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

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

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

关于android - 如何使用 javacv/opencv 在 android 中将音频与视频集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760053/

相关文章:

javascript - 是否可以通过我的应用程序中的反向代理连接 Google Maps API?

java - 将拍摄的图片转换为位图

c# - 使用 C# 程序从 PC 麦克风获取音频

当选项卡未获得焦点时,JavaScript 音频将不会播放

java - 我怎样才能让我的 Android 应用程序从上次中断的地方恢复

Android ScrollView布局问题

android - 使用 Audiotrack 在 Android 中播放 javacv-ffmpeg 解码的音频

c++ - C 中的 OpenCV 拼接程序,如何进行像素变换?

c++ - OpenCV版本显示错误

c++ - 如何使用 C++ Mat 类 ptr 对象的基本 C 包装器打印 Mat 元素