問題タブ [android-mediasession]

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.

0 投票する
1 に答える
829 参照

android - getSystemService() で MediaSessionManager のインスタンスを取得できません

私は新しい Android Lollipop API、特に新しいメディア再生コントロール フレームワークを試してきました。ドキュメントでは、新しい MediaSessionManager のインスタンスを取得するには、getSystemService(MEDIA_SESSION_MANAGER). ただし、Android Studio でコードを記述すると、引数は次のいずれかのみであるというエラーが表示されます。List of services like POWER_SERVICE, WINDOW_SERVICE, VIBRATOR_SERVICE etc.

Androidスタジオのバグかもしれないと思いますが、Lollipopで導入された他のすべての新しいAPIを使用していない可能性があります. システムに最終的な Lollipop SDK をインストールしました。

0 投票する
0 に答える
1735 参照

android - Android MediaSessionCompat が KitKat のメディア コントロール ボタンを表示しない

私は音楽プレーヤーを構築しており、現在ロックスクリーン メディア コントロールと再生情報を実装しようとしています。私の最初の試みは RemoteControlClient でしたが、このメソッドは推奨されておらず、解決できないバグに遭遇しました。そこで、MediaSessionCompat クラスに切り替えようとしましたが、メディア コントロールが表示されない以外はすべて機能します。

これは、メディア セッションをセットアップする方法であり、その状態とメタデータを更新するヘルパー メソッドがあります。

キッカーは、getRemoteControlClient() を使用して RemoteControlClient を手動で取得し、トランスポート コントロール フラグを設定してボタンを表示させることができますが、提供されたコールバック クラスを使用せず、eventReceiver を使用し、私が持っていたバグに遭遇しました。私の元の RemoteClientControl 実装で。何が表示されないのですか? 私が読んだすべてのドキュメントと私が見た他のSOの質問は、これが機能することを示唆しています。

編集: はい、申し訳ありませんが、コードベースが大きいため、すべてのヘルパー メソッドを忘れてしまいました

ライブラリを 22.0.0 から 22.2.1 に更新し、ボタンが表示されるようになりました (進行状況 :D) が、リモート クライアント コントロールが MediaSession のコールバックの代わりに eventReceiver を使用しているように見えます。期待される。

0 投票する
2 に答える
1452 参照

android - アクティビティからサービスで作成された Media Player へのアクセスと制御

この例に基づいて: https://www.binpress.com/tutorial/using-android-media-style-notifications-with-media-session-controls/165

通知のコントロール ボタンを使用して URL からオーディオ ストリームを再生するサービスを作成しました。(サービスを停止することで) ストリーミングを一時停止、再開、およびオフにすることができます。

しかし、通知と同じように、アクティビティからこれを制御するにはどうすればよいでしょうか? もちろん、適切なアクションでインテントを送信できますが、必要なのは(たとえば):

サービスを開始した場所からアクティビティを開きました。音楽が再生されていて、通知ドロワーをプルダウンしました。たとえば、一時停止を開始しました。音楽は一時停止されていますが、アクティビティはこれを認識していません。

そこで私の質問があります - アクティビティから実行中のメディア セッションなどにアクセスし、通知と同じように制御する可能性はありますか?

0 投票する
1 に答える
956 参照

android - Android MediaSession がヘッドフォンに反応しない

私はアンドロイドが初めてで、音楽プレーヤーを作成しています。私は MediaSession に慣れていませんでしたが、今では機能する Music Player を持っていますが、ヘッドフォンのクリックへの反応や着信通話の一時停止をサポートしていません。

これは私のコードです:

BroadcastReceiverこのアクションで定義された もあります

<action android:name="android.intent.action.MEDIA_BUTTON" />

これは、に関連付けられた私のコードのすべてですMediaSession。ですから、今のところ、ヘッドフォンからアクションの通知を受け取るようにしています。内部の最初の行にブレークポイントがありonReceive()、ヘッドフォンのボタンをクリックしても何も起こりません。ボタンを長押しすると、Android がリスニング モードになり、音声指示が表示されます。

他に何が必要ですか?

0 投票する
2 に答える
2755 参照

java - ロック画面のプレーヤー コントロールとメタデータ

アプリのロック画面プレーヤー コントロールとメタ データを追加するために、MediaSessionCompat を使用しようとしています。私が試したことはすべてうまくいきません。プレイ中は、ロック画面にコントロールやメタデータは表示されません。以下の私の現在のコードをご覧ください。

StreamService.java:

RemoteReceiver.java は次のとおりです。

0 投票する
1 に答える
2096 参照

android - AbstractMethodError: 抽象メソッド "void android.media.RemoteController$OnClientUpdateListener.onClientSessionEvent

3 つの特定の Samsung モデルの Android アプリで、本番環境で奇妙なクラッシュが発生します。onNewSessionEvent標準の Android プラットフォームには存在しない 抽象メソッドをオーバーライドしないと不平を言っています: http://developer.android.com/reference/android/media/RemoteController.OnClientUpdateListener.html

3 つのモデルは、Galaxy S5 (AT&T および Sprint) と S6 Edge (T-mobile) で、すべて 5.x です。私はこれらのデバイスを持っていないので、もちろんローカルで再現してトラブルシューティングすることはできません。

私のコードは にOnClientUpdateListener登録された を使用していますRemoteControllerが、これは理にかなっている限りです。

何か案は?

0 投票する
1 に答える
568 参照

android - LG G4 でのメディア ボタン インテントの受信

この問題は、LG G4 (Android バージョン 5.1) でのみ発生します。

マイ アプリケーションは、ヘッドセットの再生/一時停止ボタンを使用してアクションをトリガーします。BroadcastReceiver を次のように実装しました。

そして、受信者を次のように登録しています:

このコードは、LG G4 を除くさまざまなスマートフォンで完全に機能します。Lg phone はほとんどの場合 Music Widget を起動し、logcat は次のように述べています。

SO を検索した後、次のコードを使用して、アプリケーションを ACTION_MEDIA_BUTTON インテントの唯一のレシーバーにする MediaSession を実装しました。

アプリケーションをメディア ボタン インテントの唯一のレシーバーにし、各ボタン アクションで MediaButtonIntentReceiver (BroadcastReceiver) を呼び出すにはどうすればよいですか?

0 投票する
1 に答える
1786 参照

android - RemoteViews を展開できませんでした: HUAWEI デバイスの MediaSessionCompat および NotificationCompat.MediaStyle

Android 5.0.1 を実行している HUAWEI P8 lite デバイスで通知を表示しようとすると、アプリがクラッシュします (Nexus および Samsung デバイスでは正常に動作します)。私のコードのほとんどは、Ian Lake による Video Media Playback the Right Way (Big Android BBQ 2015) から取られています。私のコードはすべて Android サービス内にあります。コードを削除すると:

その後、アプリはクラッシュせず、画像とタイトルで通知が表示されます。しかし、メディア アクション ボタンがありません。

スタックトレース:

コード: