假设我有我的 Mp4Parser Container java 对象,而不是写入文件,然后将此文件的 URL 提供给 Android 媒体播放器来播放此视频。
Container outMux = new DefaultMp4Builder().build(countVideo);
FileOutputStream fos = new FileOutputStream(
new File("outputFinalVideo.mp4"));
outMux.writeContainer(fos.getChannel());
fos.close();
在上面,我将多个视频连接起来,然后与音频进行 Muxing,然后我希望它在内存中并直接在 android 媒体播放器中播放,或者如果有任何其他方式。
我们可以将对象表示直接写入 Android 媒体播放器,这样 android 媒体播放器就会像一个接收器一样工作。这甚至可能吗?或者有没有更好的方法来实现在内存中播放这个视频?
所以这就像所有在内存中完成的,而不是作为接收器写入文件,然后将文件 URL 提供给 android 媒体播放器。
import android.media.MediaPlayer;
public class MainActivity implements Activity{
private MediaPlayer mediaPlayer;
//url is the url for the outputFinalVideo.mp4 after being generated
mediaPlayer.setDataSource(getApplicationContext(), url);
.......
}
该视频时长 20 分钟,我能够使用 AVFoundation 框架在 iOS 的内存中完成所有操作。