0
HTC Evo 3D의 3D 디스플레이의 작동 원리를 이해하고자합니다. 그러나 코드와 HTCDev의 자습서는이 문제에 도움이되지 않습니다.SEI FPA를보고 Android MediaPlayer가 3D 디스플레이를 어떻게 결정합니까?
이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 비트 같은 손으로 제공되는 선택을 무시했다고한다 헤더의 SEI FPA 비트를 찾습니다. 필요한 코드 부분을 보여주기 위해 도움이 필요합니다. 미리 감사드립니다.
디스플레이를 SEI FPA 플래그로 덮어 쓰지 않으려합니다. 즉, FPA를 보지 않고 S3D 설정을 활성화 또는 비활성화하고 싶습니다. SEI FPA 플래그가 첫 번째 단락의 MediaPlayer 코덱의 코덱 부분에서 구문 분석된다고 가정합니다. 그리고이 비트를 비디오에 추가하는 방법을 알고 있지만 SEI FPA 플래그를 불가능하게 설정하는 라이브 스트림을 사용하려고합니다. – peagasus