問題タブ [background-audio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - プロセス間でメッセージを送信する
バックグラウンド オーディオ プレーヤーを使用してアプリケーションを作成しています。MS の要件に従って、プレーヤーは別の DLL として実装され、別のプロセスに存在します。
オブジェクトを更新することで、トラック名を UI プロセスに戻すことができBackgroundAudioPlayer.Instance.Track
ます。
ただし、UI でダウンロード バッファの状態も報告するようにしたいと考えています。
WP7 で GUI プロセスに通知するには、どの IPC メソッドを使用できますか?
更新: 4 つの名前付き手動リセット イベントを使用して 4 ビットのデータを渡すことを検討しましたが、失敗しました。WP7 は、同じプロセス内のスレッド同期にのみ適した名前のないイベントのみをサポートします。
私は System.Windows.Messaging を検討しました - 失敗します。
これまでのところ、私が知っている方法は 1 つだけです。ファイルを分離ストレージに書き込み、それらを名前付きミューテックスで保護することです。そうすることでNANDフラッシュを消耗させたくありません。より良い方法はありますか?WP7 の下には WinCE カーネルがあり、メールスロット、LPC、RPC、COM、パイプ、共有メモリ、その他多くのメソッドを利用できますが、どれも Silverlight に公開されていないなんて信じられません…
windows-phone-7 - WP7 バックグラウンド オーディオ - メモリ リークかどうか?
バックグラウンド オーディオを再生するアプリを作成しています。
バックグラウンド オーディオ再生プロセスの RAM 使用量は次のとおりです。
これはメモリリークですか、それともいいえですか?
15MB を超えると、OS がプレーヤーを黙って強制終了するので、心配です。これは望ましくありません。
そのメモリを占有しているものを表示する方法はありますか? 私の MediaStreamSource 実装は、起動時に単一の 512kb バッファーのみを割り当て、再生中に単一バイトを割り当てることはありません。ところで、ストリームのビットレートは 96 kbit/sec で、これはアプリのメモリ割り当てレートと同じです。
GC の遅延を軽減し、スリープ時間を 8 分未満にする方法はありますか? 私はそれらのスパイクがあまり好きではありません...
2013 年 4 月 21 日の更新: OS の更新 (おそらく 7.8) によって問題が修正されたようです。ありがとう、マイクロソフト!ただし、次回は更新履歴にメモしておいてください:-)
windows-runtime - Windows 8ストアアプリがバックグラウンドにあるときに音楽を再生する
だから私はいくつかの異なるアプローチを試みました、そしてここに私がいるところです:
このスレッドに示されている方法を使用して、App.xaml で MediaElement をセットアップします (他のページに移動した後も再生を続けるグローバル MediaElement )。ペインを切り替えても音楽を再生し続けるのはうまく機能します...
プレーヤー ハンドラーをセットアップする方法は、すべてのメソッド (再生、一時停止、次のトラックなど) を LayoutAware ページに追加することでした。このようにして、任意のビューからプレーヤーを制御できます。アプリがフォーカスされているときにうまく機能します
音楽を再生した元のビューを離れて別のアプリに切り替えると、バックグラウンドで再生され続けます。これが私が望んでいることです
ただし、最初に別のビューに変更してからアプリをバックグラウンドに移動すると、停止します!
これは、最初に音楽の再生を開始したパネルから離れたときにのみ行われます。
たとえば、これを行うと:
アプリは引き続き音楽を再生します。
私なら:
音楽が止まる!
なぜこれが起こるのか誰にも考えがありますか?これをどのように設定したかについて、さらに説明が必要な場合はお知らせください。
windows-phone-8 - InvalidOperation例外、バックグラウンドオーディオエージェント、Windows Phone 8
バックグラウンドのAudioPlayerをWindowsPhone8アプリケーションに追加しようとしています。
メインプロジェクトとバックグラウンドオーディオエージェントを作成しました。バックグラウンドオーディオプレーヤーへの参照をメインプロジェクトに追加し、以下をアプリマニフェストファイルに追加しました。
私は参照を2回および3回チェックしましたが、それらが正しいことを示していると確信しています。
私はIsolatedStorageと次のコードを使用して2つのアプリケーション間で情報を共有しています
これにより、トラック名が正しく取得され、再生用のオーディオトラックが作成されたように見えます。この時点で、アプリケーションは次のエラーをスローします。
私の人生では、何がエラーを引き起こしているのか理解できません。根本的な原因として飛び出すものは何もありません。他のアプリでも問題なくこれを数回実行しました。
アドバイスや洞察をいただければ幸いです。
編集:要求に応じて、以下のOnPLayStateChangedコードを貼り付けました
また、いくつかの追加情報を追加するために、GetNextTrackでのオーディオトラックの作成時にエラーがスローされるため、このコードブロック
c# - MediaElement と BackgroundAudioPlayer の間の変更
今のところMediaElement
、このコードを使用してアプリでビデオを再生するために使用しています:
ユーザーがバックグラウンドに移動してオーディオを再生し続ける(ビデオは不要)場合の可能性を追加したいので、これに使用BackgroundAudioPlayer
したいと思います。そして、それらの2つを使用できるかどうか、またはそれらをどのように混合できるかを知りたい.
c# - BackgroundAudioPlayerは「再生中」ですが、GetSampleAsync()を呼び出していません
カスタムMediaStreamSourceを使用して、バックグラウンドエージェントでWebから音楽をストリーミングしています。良好なネットワーク状態ではこれは正常に機能しますが、ネットワーク接続が不安定な場合は奇妙な問題が発生します。
トラックの再生が開始されると、MediaStreamSource.GetSampleAsync()への最初の呼び出しですべてが順調に進みます。接続が不安定なため、十分なデータが利用できない場合、ソースはReportGetSampleProgress(double)を呼び出し、サンプルを報告せずに戻ります。これは、MSDNのドキュメントとコードサンプルに準拠しています。
不思議なのは、GetSampleAsyncへの呼び出しがこれ以上ないことです。バッファリングが続くと、ソースはサンプルの準備ができるまでReportGetSampleProgressを続行し、サンプルがいっぱいになるとReportGetSampleProgress(1.0)
、バッファがいっぱいであることを示します。
私は次のようないくつかのアプローチを試しました。
ReportGetSampleCompleted
バッファリングが完了したとき。ダウンロードイベントは任意のスレッドで発生し、このメソッドは呼び出し元のスレッドとGetSampleAsyncの呼び出しがスタック上にあるかどうかの両方に明らかに敏感であるため、これは失敗します。無効な呼び出し状況では、COMエラーが発生します。- 正確なエラー状態で、BackgroundAudioPlayerを停止して開始します。これにより、ストリーミングの再開に失敗します。
サンプルの読み取りに最初に失敗したときに問題が発生した場合、どうすればストリーミングを再開できますか?
iphone - バックグラウンドでオーディオを再生する iOS MPMoviePlayerController
ビデオのオーディオをバックグラウンドで再生し、マルチタスクの再生/一時停止コントロールによって制御する必要がある MPMoviePlayerController があります。
.plist ファイルを更新しRequired background modes
て以下を呼び出した後:
}
マルチタスクの再生/一時停止バーにアプリのアイコンが表示されますが、これらのボタンが反応しません。
ありがとう!
c# - Windows Phone BackgroundAudioPlayer: ソースに 301 リダイレクトがあるトラックの読み込み
外部 API から収集された曲のプレイリストを使用する Windows Phone 用のオーディオ プレーヤーを作成しました。
このプレイリストはクライアント アプリと backgroundaudioplayer の両方に保存されるため、アプリが実行されていなくても、曲の終了後に次のトラックを再生し続けることができます。
ただし、この API は、ストリーミングされるファイルへの実際のリダイレクトである URL を含むソース トラックを返します。
これらをバックグラウンド オーディオ プレーヤーに直接ロードしようとすると、例外が発生します。
クライアント アプリにリダイレクトを許可し、結果の URL をキャプチャしてからプレーヤーに渡し、クライアントとアプリの両方でプレイリストを更新することで、これを回避しようとしました。
これはかなりうまくいきます。
ただし、アプリから移動すると、バックグラウンド オーディオ エージェントが引き続き再生されます。つまり、クライアントの URL を更新するメカニズムが起動せず、元のリダイレクト URL が読み込まれ、アプリがクラッシュします。
バックグラウンド オーディオ エージェントで同じことを試みました (HEAD 要求を発行し、応答から結果の uri を取得します) が、これを機能させることができません。webrequest から返されることはありません。
これは私が達成しようとしていることの要点です:
しかし、内部のコールバックは実行されず、プログラムは強制終了するまで停止します。
これを処理するためのより良い方法があるに違いないと確信していますが、この問題に関するドキュメントは見つかりませんでした。他のみんなはこれをどのように処理しますか?
クライアントでタイマーを起動して、リストを解析してリクエストを発行し、その場ですべてを更新することについて考えましたが、これは、アプリが起動するたびに 100 のリクエストが順番に実行されることを意味します (新しいトラックが毎回取得されるため)。時間)、これは実際には有効な解決策とは思えません...
誰かがここに何かアイデアを持っていますか? 彼らは大歓迎です!
c# - Windows Phone の UVC イベントにサブスクライブできますか?
を使用するWP7.1アプリを作成しました
play() と stop() を実行し、からのイベントをサブスクライブします
UIを更新します。再生ボタンがあり、クリックすると UI が更新されて「バッファリング」アニメーションが表示され、BackgroundAudioPlayer.Instance.PlayerState が PlayState.Playing に変更されると、代わりに「再生中」アニメーションが表示されます。これは期待どおりに機能します。ただし、ユニバーサル ボリューム コントロールで再生を押すと、UI を「再生中」に更新する PlayState.Playing イベントまで、「停止」アニメーションが表示されます。
したがって、UVCで再生ボタンが押されたときを検出する必要があります(サウンドの再生が開始されるまで「バッファリング」アニメーションを表示するため)が、それに対応するイベントが見つかりません。アイデアはありますか?