C# 将录制的文件导航到媒体元素或媒体播放器启动器
我已经为wp7创建了一个录音机。实际上,我使用了一个列表框(名为filelistbox)来显示录制的音频文件,如果用户单击任何文件,它只会播放音频(而不是由MediaPlayerLauncher播放)。它工作得很好C# 将录制的文件导航到媒体元素或媒体播放器启动器,c#,windows-phone-7,C#,Windows Phone 7,我已经为wp7创建了一个录音机。实际上,我使用了一个列表框(名为filelistbox)来显示录制的音频文件,如果用户单击任何文件,它只会播放音频(而不是由MediaPlayerLauncher播放)。它工作得很好 private void filesListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { string filename = (string)e.AddedItems[0]
private void filesListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string filename = (string)e.AddedItems[0];
PlayFromIS(filename);
}
在此之后,我使用MediaPlayerLauncher播放列表框中录制的音频文件。它实际上打开了文件,但在播放音频时,它的节奏变得极低,声音也变了
private void filesListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
string filename = (string)e.AddedItems[0];
MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher();
mediaPlayerLauncher.Media = new Uri(filename, UriKind.Relative);
mediaPlayerLauncher.Controls = MediaPlaybackControls.All;
mediaPlayerLauncher.Location = MediaLocationType.Data;
mediaPlayerLauncher.Orientation = MediaPlayerOrientation.Landscape;
mediaPlayerLauncher.Show();
}
catch (IndexOutOfRangeException x)
{
}
}
因此,我创建了一个MediaElement.xaml页面,并在其中添加了一个MediaElement。但是我不知道如何像media player启动器一样访问MediaElement.xaml页面中的文件名(来自MainPage.xaml)
myMediaElement.Source = new Uri("??Don't know what to write here to access the filename??", UriKind.Relative);
我认为MediaPlayerLauncher比MediaElement好得多,但两者都可以接受。有人能帮我吗?提前感谢您的辛勤工作 考虑到您可以从独立存储访问文件,这样的操作应该可以完成:
using (IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream stream = file.OpenFile("file/path/here", FileMode.Open, FileAccess.Read))
{
this.mediaElement.SetSource(stream);
}
}