我想了解HTC Evo 3D 3D显示器的工作原理;然而,代码和HTCDev的教程对此没有帮助。据说,报头中的SEI FPA位覆盖了手工给出的选择,例如:
public void surfaceChanged(SurfaceHolder surfaceholder, int i, int j, int k) {
holder = surfaceholder;
enableS3D(true, holder.getSurface()); // note SEI FPA flag in content
// overrides this
}播放视频代码:
private void playVideo() {
release();
fileName = "HTCDemo.mp4";
try {
mediaPlayer = new MediaPlayer();
final AssetFileDescriptor afd = getAssets().openFd(fileName);
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(),
afd.getLength());
mediaPlayer.setDisplay(holder);
mediaPlayer.prepare();
mediaPlayer.setOnPreparedListener(this);
mediaPlayer.setOnVideoSizeChangedListener(this);
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
} catch (Exception e) {
Log.e(TAG, Log.getStackTraceString(e));
}
}在这一点上,我无法跟踪它在报头中SEI FPA位的位置。我需要一个显示必要的代码部分的帮助。提前谢谢。
发布于 2012-08-01 03:39:47
您是否需要解析报头本身中的SEI FPA位?这超出了此API的范围。如上所述,编解码器对此进行解析以启用(并覆盖) S3D设置。
在概述中,它提到了如何使用x264等第三方工具将此内容添加到现有内容中。
如果您在运行时需要解析文件头,我建议您查看x264的代码以获得帮助。
https://stackoverflow.com/questions/11747278
复制相似问题