0
A
回答
2
如果您有使用媒體和控制播放,暫停和停止媒體文件的多個屏幕,那麼最好爲這些事件編寫一次代碼,然後從不同的屏幕使用它。我看到有人在他們使用媒體的每個屏幕上都寫下了以下代碼。
private void PauseButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.Pause();
}
private void StopButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.Stop();
}
private void ForwardButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.DefaultPlaybackRate = 0.0;
myMediaElement.PlaybackRate = 2.0;
}
private void RewindButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.DefaultPlaybackRate = 0.0;
myMediaElement.PlaybackRate = -1.0;
}
因此,而不是在每個屏幕重複代碼,遵循良好的活動模式,以減少重複的代碼
最好的辦法是使用MVVM模式,你可以找到在http://code.msdn.microsoft.com/windowsapps/Background-Audio-c-Metro-d2fc7719/view/SourceCode
樣本所以設計是在一個普通的地方編寫代碼,並從前端UI中發佈它們。
1
您需要使用MediaElement。
3
在XAML,具有以下屬性
<ContentControl x:Name="Host">
<MediaElement Source="Assets/myMusic.mp3" IsLooping="True" AutoPlay="True" AudioCategory="BackgroundCapableMedia" PosterSource="/Images/placeholder-sdk.png" VerticalAlignment="Center" HorizontalAlignment="Center" Name="myMediaElement" Height="350" Width="640" />
</ContentControl>
在應用欄,你將有一個MediaElement的,你可以有媒體控制按鈕有些像
<Page.BottomAppBar>
<AppBar Opened="BottomAppBar_Opened" Background="#FF3C3838" x:Name="BottomAppBarColors" Padding="10,0,10,0" AutomationProperties.Name="Bottom App Bar Colors">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<StackPanel x:Name="LFullScreenLandscapeViewGrid" Orientation="Horizontal" Grid.Column="0" HorizontalAlignment="Left">
<Button x:Name="Play" Click="PlayButton_Click" Style="{StaticResource PlayAppBarButtonStyle}" Tag="Play"/>
<Button x:Name="Stop" Click="StopButton_Click" Style="{StaticResource StopAppBarButtonStyle}" Tag="Stop"/>
</StackPanel>
<StackPanel Visibility="Collapsed" x:Name="PortraitViewGrid" Orientation="Horizontal" Grid.ColumnSpan="2" HorizontalAlignment="Right">
<Button x:Name="PauseCollapsed" Click="PauseButton_Click" Style="{StaticResource PauseAppBarButtonStyle}" Tag="Pause"/>
<Button x:Name="PlayCollapsed" Click="PlayButton_Click" Style="{StaticResource PlayAppBarButtonStyle}" Tag="Play"/>
<Button x:Name="StopCollapsed" Click="StopButton_Click" Style="{StaticResource StopAppBarButtonStyle}" Tag="Stop"/>
</StackPanel>
</Grid>
</AppBar>
</Page.BottomAppBar>
在.CS碼文件,您可以控制mediaelement對象。
private void PauseButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.Pause();
}
private void StopButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.Stop();
}
private void ForwardButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.DefaultPlaybackRate = 0.0;
myMediaElement.PlaybackRate = 2.0;
}
private void RewindButton_Click(object sender, RoutedEventArgs e)
{
myMediaElement.DefaultPlaybackRate = 0.0;
myMediaElement.PlaybackRate = -1.0;
}
相關問題
- 1. 當應用程序在後臺播放音頻或聲音
- 2. 即使在後臺播放應用程序的音頻
- 3. 如何在應用程序在後臺播放音頻?
- 4. 在後臺播放音頻
- 5. 在後臺播放音頻崩潰應用程序
- 6. iOS對講機應用程序在後臺播放音頻
- 7. iOS 5 - 在應用程序啓動時在後臺播放音頻文件
- 8. C++在控制檯應用程序中播放視頻音頻
- 9. 當應用程序進入後臺時開始播放音頻文件
- 10. 音頻播放器在iPhone中播放遠程音頻文件?
- 11. 在後臺播放音頻流的MPMoviePlayerController
- 12. 在.NET Core控制檯應用程序中播放音頻C#
- 13. c程序播放音頻文件
- 14. iOS4和後臺播放過程中的音頻播放
- 15. 在iPhone/iPad應用程序中播放音頻文件?
- 16. 如何在應用程序背景中播放音頻文件?
- 17. 如何在應用程序啓動時播放音頻文件
- 18. 在後臺播放音頻(iPhone OS 4.0)
- 19. 在後臺播放音頻 - windows芒果
- 20. 音頻不會在後臺播放(iOS)
- 21. 如何在後臺播放音頻
- 22. iPhone停止在後臺播放音頻
- 23. iOS MPMoviePlayerController在後臺播放音頻
- 24. 如何在後臺播放音頻?
- 25. 在後臺製作WebView音頻播放
- 26. iPhone:Phonegap:在後臺播放音頻
- 27. 在後臺播放MPMoviePlayerController音頻流
- 28. 在後臺播放音頻(Windows 8)
- 29. 當應用程序在後臺播放Windows Phone 8中的音頻通知
- 30. 如何使應用程序在後臺播放音頻(iOS上的phonegap 1.5.0)
不確定爲什麼,但你的答案簡潔逗樂我。 +1! –
那麼,對於「任何幫助或建議是有幫助的」部分,答案都是正確和充分的。我沒有時間寫一篇完整的教程,我幾乎可以肯定,我已經早些時候爲類似的問題做了一些工作,但是基於SFO所展示的有限研究 - 可能足以讓他們指向正確的方向。 –