Csh*_*est 5 audio video android xamarin.android mediarecorder
我遇到了一个错误,主要出现在三星设备上。我用媒体录像机录制了一段视频(代码如下所示)。它在所有设备上都能完美运行,但现在在某些 Android 设备上,音频和视频轨道是分开的。
假设我正在捕获 5 秒的视频。视频时长 5 秒,播放视频将播放视频的第一帧和 5 秒的音频。之后,正在播放 5 秒的视频。默认视频播放器显示视频在 5 秒后结束,但实际上它只是音频...
8.0 Oreo 中是否有新引入的内容,以便我必须调整我的 MediaRecorder?
我的媒体记录器设置:
private void SetUpMediaRecorder()
{
MediaRecorder.SetAudioSource(AudioSource.Mic);
MediaRecorder.SetVideoSource(VideoSource.Surface);
MediaRecorder.SetOutputFormat(OutputFormat.Mpeg4);
MediaRecorder.SetVideoEncoder(VideoEncoder.H264);
MediaRecorder.SetAudioEncoder(AudioEncoder.Aac);
MediaRecorder.SetOutputFile(outputURL);
MediaRecorder.SetVideoSize(1280, 720);
MediaRecorder.SetVideoFrameRate(30);
MediaRecorder.SetVideoEncodingBitRate(2000000);
MediaRecorder.SetMaxDuration(VideoManager.MAX_VIDEODURATION_MS);
//Set audio bitrate
int bitDepth = 16;
int sampleRate = 44100;
int bitRate = sampleRate * bitDepth;
MediaRecorder.SetAudioEncodingBitRate(bitRate);
MediaRecorder.SetAudioSamplingRate(sampleRate);
int rotation = (int)ThisActivity.WindowManager.DefaultDisplay.Rotation;
int orientation = orientations[rotation];
MediaRecorder.SetOrientationHint(orientation);
MediaRecorder.Prepare();
}
Run Code Online (Sandbox Code Playgroud)
编辑:我正在使用 Camera2 API
EDIT2:这似乎是某些三星设备的问题。深度睡眠会导致第一帧的呈现时间戳太长。将时间戳设置为 1/30 秒(如果您的视频是以 30fps 捕获的)将解决此问题。这是一个相应的错误线程:https : //github.com/googlesamples/android-Camera2Video/issues/24
归档时间: |
|
查看次数: |
497 次 |
最近记录: |