Debugging MediaElement仅在调试模式下播放音频,不在调试模式下不播放音频
我正在使用windows phone 8,试图通过创建用户控件和媒体元素在我的应用程序中实现音频播放功能 令人惊讶的是,在调试期间音频正在播放,但当我在没有调试模式的情况下运行应用程序时,音频不会播放,我尝试了等待和异步方法,但这也不起作用 MainPage.xaml.csDebugging MediaElement仅在调试模式下播放音频,不在调试模式下不播放音频,debugging,audio,windows-phone-8,mediaelement,audio-player,Debugging,Audio,Windows Phone 8,Mediaelement,Audio Player,我正在使用windows phone 8,试图通过创建用户控件和媒体元素在我的应用程序中实现音频播放功能 令人惊讶的是,在调试期间音频正在播放,但当我在没有调试模式的情况下运行应用程序时,音频不会播放,我尝试了等待和异步方法,但这也不起作用 MainPage.xaml.cs private async void AudioControl(string audioId, string audio_url) { customControlAudioPlayer.media_Id = audio
private async void AudioControl(string audioId, string audio_url)
{
customControlAudioPlayer.media_Id = audioId;
customAudioPlayer.media_Url = audio_url;
//Following function is dedicated to show control and play the audio.
await customAudioPlayer.RenderView();
gridContainsMediaElement.Visibility = Visibility.Visible;
}
public string media_Id;
public string media_Url;
public async Task RenderView()
{
Uri file_url;
if (Uri.TryCreate(media_Url, UriKind.Absolute, out file_url))
{
myElement.Source = file_url;
myElement.Play();
//I tried by check the media element state but its executing and playing only in debug mode. it was not working for me without debug i made it commented.
//if (myElement.CurrentState != MediaElementState.Playing)
//{
// myElement.Play();
//}
mediaPositionSlider.Value = 0;
UpdateDuration(0);
}
//-----------
private void UpdateDuration(double _myValue)
{
TimeSpan t = TimeSpan.FromSeconds(_myValue);
string time_slot = string.Format("{0:D2}:{1:D2}:{2:D2}",
t.Hours,
t.Minutes,
t.Seconds);
PlayStatusLabel.Text = time_slot.ToString();
}
MainPage.xaml
xmlns:MyControls="clr-namespace:dbok.Controls"
<Grid Name="gridContainsMediaElement"
VerticalAlignment="Top"
Background="Black" Visibility="Collapsed">
<MyControls:AudioPlayerControl
x:Name="customControlAudioPlayer"/>
<!--CloseClick="audioPlayerControl_CloseClick"-->
</Grid>
<Grid Background="{StaticResource PhoneChromeBrush}" >
<MediaElement x:Name="audioMediaElement" AutoPlay="False"
Grid.Row="0"
MediaOpened="audioMediaElement_MediaOpened"
MediaEnded="audioMediaElement_MediaEnded"
MediaFailed="audioMediaElement_MediaFailed"
HorizontalAlignment="Center" Height="05"
VerticalAlignment="Center"/>
<Slider Visibility="Visible" Margin="50,0,50,0"
x:Name="mediaPositionSlider" Background="#f1592a"
Minimum="0" Grid.Row="0"
/>
</StackPanel>
</Grid>
我已经发布了我的代码,在哪里&我做错了什么,它没有在运行模式下而不是在调试模式下播放?我已经成功地解决了我所面临的问题,实际上当光标到达audioMediaElement.Play()时会发生什么;Play()函数需要时间在内部执行,我所做的是将audioMediaElement.Play()替换为audioMediaElement.AutoPlay=true;它开始工作了。:)呜呜呜呜……:)