プロジェクト(サウンドクラウドクライアント)で作業していて、アプリが最小限に抑えられていても、トラックをうまく再生できます。私は、MediaElement-Objectを使ってURLからmp3を再生します。アプリがバックグラウンドにあるとき、音楽を強制的に演奏し続けるにはどうすればいいですか?または、これを実装する最も簡単な方法/ベストチュートリアルを説明します。私は良い答えをたくさん探しましたが、私が見つけたものは私にはあまりにも良いものでした:D何を意味する、私はそれを理解していませんでした。UWPの背景でオーディオを再生する最も簡単な方法は何ですか?
1
A
答えて
4
バックグラウンドでオーディオを再生するには、Package.appxmanifest
でバックグラウンドタスクを宣言し、オーディオを有効にしてTestUWP.MainPage
ページのようなエントリポイントを追加する必要があります。
また、ユーザーが簡単にあなたがここSystemMediaTransportControls
を使用することができますプレイの基本的な設定があると一時停止オーディオを管理することができるようにするため。
XAML
<MediaElement x:Name="mediaElement" Height="100" Width="100" AreTransportControlsEnabled="True"/>
C#
public MainPage()
{
this.InitializeComponent();
systemControls = SystemMediaTransportControls.GetForCurrentView();
// Register to handle the following system transpot control buttons.
systemControls.ButtonPressed += SystemControls_ButtonPressed;
mediaElement.CurrentStateChanged += MediaElement_CurrentStateChanged;
systemControls.IsPlayEnabled = true;
systemControls.IsPauseEnabled = true;
}
private void MediaElement_CurrentStateChanged(object sender, RoutedEventArgs e)
{
switch (mediaElement.CurrentState)
{
case MediaElementState.Playing:
systemControls.PlaybackStatus = MediaPlaybackStatus.Playing;
break;
case MediaElementState.Paused:
systemControls.PlaybackStatus = MediaPlaybackStatus.Paused;
break;
case MediaElementState.Stopped:
systemControls.PlaybackStatus = MediaPlaybackStatus.Stopped;
break;
case MediaElementState.Closed:
systemControls.PlaybackStatus = MediaPlaybackStatus.Closed;
break;
default:
break;
}
}
void SystemControls_ButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args)
{
switch (args.Button)
{
case SystemMediaTransportControlsButton.Play:
PlayMedia();
break;
case SystemMediaTransportControlsButton.Pause:
PauseMedia();
break;
case SystemMediaTransportControlsButton.Stop:
StopMedia();
break;
default:
break;
}
}
private async void StopMedia()
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
mediaElement.Stop();
});
}
async void PlayMedia()
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
if (mediaElement.CurrentState == MediaElementState.Playing)
mediaElement.Pause();
else
mediaElement.Play();
});
}
async void PauseMedia()
{
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() =>
{
mediaElement.Pause();
});
}
出力
あなたは元のために利用可能なプロパティを使用して行うことができますより多くのコントロールを有効にしたい場合。
systemControls.IsNextEnabled = true;
、あなたはボタンスイッチでcase
を追加する必要があります。
case SystemMediaTransportControlsButton.Next:
//handle next song
break;
1
Windows Mobileでこれを動作させるには、BackgroundAudioタスクを使用する必要があります。この記事では、マイクロソフトが提供するgithubサンプルを紹介します。 https://blogs.windows.com/buildingapps/2016/01/13/the-basics-of-background-audio/
関連する問題
- 1. UWPの背景でオーディオを再生する方法
- 2. Windows Media Playerを一時停止/再生する最も簡単で簡単な方法は何ですか?
- 3. Trigger.ioでiOSで背景のオーディオを再生するには?
- 4. IPhoneの背景でオーディオを再生するには?
- 5. 春の最も簡単で最も透過的な方法をキャッシングする方法は何ですか?
- 6. ウェブサイトにオーディオを含める最も簡単な方法
- 7. RailsでERBを実装する最も簡単な方法は何ですか?
- 8. プロミスをES6でラップする最も簡単な方法は何ですか?
- 9. Javaでカスタムバイナリデータメッセージを設定する最も簡単な方法は何ですか?
- 10. OSXでPostgreSQLを設定する最も簡単な方法は何ですか?
- 11. XAMLでScrollViewerをスタイルする最も簡単な方法は何ですか
- 12. ナビゲーションバー以外のビューの高さを取得する最も簡単で簡単な方法は何ですか?
- 13. GoogleのAPIを使用する最も簡単な方法は何ですか?
- 14. mysqlテーブルとPHPからサイトを作成する最も簡単で簡単な方法は何ですか?
- 15. VisualStudio2008の開発にlibpngを利用する最も簡単で簡単な方法は何ですか?
- 16. このheirarchicalテーブルをフラットテーブルに非正規化する最も簡単で簡単な方法は何ですか?
- 17. Magentoのデータベースをアップグレードする最も簡単で簡単な方法は何ですか?
- 18. Blackberryデバイスでスクリーンショットを撮る最も簡単な方法は何ですか?
- 19. WPFアプリケーションを配備する最も簡単な方法は何ですか?
- 20. Eulers Phi Nを計算する最も簡単な方法は何ですか?
- 21. NSTableViewカスタムセルを作成する最も簡単な方法は何ですか?
- 22. Tkinterキャンバスウィジェットをスティプルする最も簡単な方法は何ですか?
- 23. Webサービスを複製する最も簡単な方法は何ですか?
- 24. NSMenuItemsを複製する最も簡単な方法は何ですか?
- 25. リストを検索する最も簡単な方法は何ですか?
- 26. ファイルをJavascriptプログラムにリンクする最も簡単な方法は何ですか?
- 27. mnesiaスキーマを更新する最も簡単な方法は何ですか?
- 28. ゲートウェイをテストする最も簡単な方法は何ですか?
- 29. node/jsアプリケーションを起動する最も簡単な方法は何ですか?
- 30. boost :: statechart :: state_machineをスレッドセーフにする最も簡単な方法は何ですか?
結果は同じです。ウィンドウを最小化すると、オーディオはもう聞こえません。 – Flauschcoder
編集:BackgroundCapableMediaにMediaElementのAudioCategory-Propertyを設定すると問題が解決しました。あなたの答えをありがとう、私は仕事の多くを救った! – Flauschcoder
編集2:PCで動作しますが、モバイルでは動作しません。/ – Flauschcoder