저는 UWP를 처음 사용합니다. 음성 입력 (MediaCapture
)을 녹음하고 다시 재생하려고합니다.MediaPlayer 오류 : 지정된 URL의 바이트 스트림 유형이 지원되지 않습니다. (HRESULT 예외 : 0xC00D36C4)
그리고 다음과 같은 오류 내가 만들
The byte stream type of the given URL is unsupported. (Exception from HRESULT: 0xC00D36C4)
을 얻고있다가 플레이어를 더블 클릭하여 플레이 할 수있는 MP3 파일입니다. 그래서 파일은 'ok'입니다.
MediaPlayer로 재생하려고하면 오류가 발생합니다. 새로운 코덱 패키지를 설치하고 .mp3을 가리켰습니다. 같은 오류. 나는 입력 파일을 정의하기 위해 스트림, StorageFile 및 URL 메서드를 시도했지만 항상 같은 오류가 발생했습니다. 마이크와 웹캠을 사용할 수 있습니다. (내 마이크가 웹캠에 있음) '로컬 컴퓨터'에 배포 중입니다. 누구나 가능한 이유를 알고 계십니까? 여기에 코드가 있습니다. 다른 PC에서 작동하는지 확인하는 데 관심이 있습니다.
private async void RecordAndPlay()
{
string mediaFilename = "audioPRC.mp3";
StorageFile mediaFile;
StorageFolder tempFolder;
MediaCapture mediaCapture;
MediaPlayer mediaPlayer = null;
LowLagMediaRecording lowLagMediaRecording;
MediaSource mediaSource;
mediaCapture = new MediaCapture();
await mediaCapture.InitializeAsync();
mediaCapture.Failed += OnMediaCaptureFailed;
tempFolder = Windows.Storage.ApplicationData.Current.TemporaryFolder;
mediaFile = await tempFolder.CreateFileAsync(mediaFilename, CreationCollisionOption.ReplaceExisting);
MediaEncodingProfile mediaEncodingProfile = MediaEncodingProfile.CreateMp3(AudioEncodingQuality.Medium);
lowLagMediaRecording = await mediaCapture.PrepareLowLagRecordToStorageFileAsync(
mediaEncodingProfile, mediaFile);
await lowLagMediaRecording.StartAsync();
// Talk into your microphone during the 10 second wait...
await Task.Delay(10000);
await lowLagMediaRecording.StopAsync();
await lowLagMediaRecording.FinishAsync();
lowLagMediaRecording = null;
mediaPlayer = new MediaPlayer { AutoPlay = false, AudioCategory = MediaPlayerAudioCategory.Media };
mediaPlayer.MediaFailed += OnMediaPlayerFailed;
mediaPlayer.AudioCategory = Windows.Media.Playback.MediaPlayerAudioCategory.Media;
mediaSource = MediaSource.CreateFromStorageFile(mediaFile);
var mediaPlaybackItem = new MediaPlaybackItem(mediaSource);
mediaPlayer.Source = mediaPlaybackItem;
mediaPlayer.Play();
}
private void OnMediaPlayerFailed(object sender, MediaPlayerFailedEventArgs e)
{ Debug.WriteLine(e.ExtendedErrorCode.Message); }
private void OnMediaCaptureFailed(MediaCapture sender, MediaCaptureFailedEventArgs e)
{ Debug.WriteLine("Capture failed: " + e.Message); }
파일이 준비되지 않았다고 생각합니다. – lindexi
코드를 사용해 보았지만 재생할 수 있습니다. – lindexi