/// <summary> /// Initializes a new instance of the <see cref="MediaPlayerView" /> class. /// </summary> public MediaPlayerView() { InitializeComponent(); //add media player _mediaPlayer = new AudioPlaybackPanel { Dock = DockStyle.Fill }; Controls.Add(_mediaPlayer); Presenter = new MediaPlayerPresenter(this); }
public TabPage Create(VrfGuiContext vrfGuiContext, byte[] input) { WaveStream waveStream; if (input == null) { waveStream = new AudioFileReader(vrfGuiContext.FileName); } else if (vrfGuiContext.FileName.EndsWith(".mp3", StringComparison.InvariantCultureIgnoreCase)) { waveStream = new Mp3FileReaderBase(new MemoryStream(input), wf => new Mp3FrameDecompressor(wf)); } else { waveStream = new WaveFileReader(new MemoryStream(input)); } var tab = new TabPage(); var audio = new AudioPlaybackPanel(waveStream); tab.Controls.Add(audio); return(tab); }
public AudioPlayer(Resource resource, TabPage tab) { var soundData = (Sound)resource.DataBlock; var stream = soundData.GetSoundStream(); try { WaveStream waveStream; switch (soundData.SoundType) { case Sound.AudioFileType.WAV: waveStream = new WaveFileReader(stream); break; case Sound.AudioFileType.MP3: waveStream = new Mp3FileReaderBase(stream, wf => new Mp3FrameDecompressor(wf)); break; case Sound.AudioFileType.AAC: waveStream = new StreamMediaFoundationReader(stream); break; default: throw new Exception($"Dont know how to play {soundData.SoundType}"); } var audio = new AudioPlaybackPanel(waveStream); tab.Controls.Add(audio); } catch (Exception e) { Console.Error.WriteLine(e); var msg = new Label { Text = $"NAudio Exception: {e.Message}", Dock = DockStyle.Fill, }; tab.Controls.Add(msg); } }