問題タブ [android-music-player]

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 に答える
855 参照

java - MediaPlayer は、デバッグ モード (Android) でのみ音楽ファイルを再生します。

次のように音楽ファイルを再生する Android アプリケーション (Eclipse) を作成しました。

実行すると、ファイルは再生されませんが (例外は表示されません)、「デバッグ モード」に切り替えて 1 行ずつトレースすると、ファイルが再生されます。私は本当に混乱しています。何が問題なのか教えてください。

ありがとう。

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

android - asyncTask から managedQuery を使用する方法

Androidミュージックプレーヤーを作ろうとしています。簡単にするために、電話のアーティストをローカル DB にコピーしてから、ローカル データに対していくつかのカスタム クエリを作成することにしました。managedQuery を db にコピーする方法は知っていますが、AsyncTask ではできません。managedQuery は Activity クラスからしかアクセスできないためです。アプリの起動時に Application クラスでこの呼び出しを実行しようとしています。AsyncTask 内で managedQuery を呼び出す方法を知っている人はいますか? ロード速度が大幅に低下するため、呼び出される最初のアクティビティでこれを実行したくありません。

これは私がやりたいことですが、コンパイルできないことはわかっています...

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

android - Handel Strange アプリケーション フロー - Android

バックグラウンド再生が可能な音楽再生アプリを作成しています。そして、私が抱えている問題は、

  1. アプリケーションの起動時に、アプリケーションは SD カードからすべての曲をロードします。
  2. ユーザーが曲の再生を開始します。
  3. ここで、彼はアプリケーションを終了します。
  4. 曲はまだバックグラウンドで再生されています。
  5. 通知バーまたはメニューからアプリケーションを再起動すると、すべての曲の読み込みが再開されます。

誰でもこのことを処理する方法を教えてもらえますか?

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

android - AndroidのlistViewでクリックするとボタンの画像を変更します

私は音楽プレーヤーアプリを開発しています。これで、sdcard で利用可能なすべての音楽ファイルを取得し、リストに表示します。曲を再生するために、リスト内に再生ボタンがあります。最初は、すべての画像が「PLAY BUTTON」の状態になっています。 ここに画像の説明を入力

ユーザーが再生ボタンをクリックすると、再生ボタンがこれに変わります。

ここに画像の説明を入力

それに応じて音楽が再生/一時停止します。

しかし、私が直面している問題は、最初の曲を再生すると曲は再生され、アイコンが変化しますが、リストを下にスクロールすると、リスト上の曲の「一時停止」ボタンの画像がランダムに表示されます。

以下はコードです:(音楽の再生に関してはまだ開発中ですが、この画像の問題を解決する必要がありました)

音楽活動:

main.xml

item.xml

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

android - アンドロイド音楽プレーヤーのphonegapを使用してメモリカードに音楽ファイルを取ります

android用のphonegapを使用して音楽プレーヤーを作成しようとしています。メモリカードにmp3ファイルを収集して、プレーヤーに一覧表示するにはどうすればよいですか。

0 投票する
3 に答える
816 参照

android - Google ミュージック プレーヤーで曲を再生できない

アプリから Google ミュージック プレーヤー アプリで曲の再生を開始する方法はありますか? 次のコードを試していますが、Googleミュージックプレーヤーは検索結果を開くだけで、実際には曲を再生しません。

INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH のドキュメントには、次のように記載されています-音楽メディアの検索を実行し、可能な場合は結果からコンテンツを自動的に再生する意図。

したがって、ドキュメントによると、曲を再生できるはずです。ただし、検索結果を開くだけで、再生はしません。私がここで見逃しているアイデアはありますか?

ご協力いただきありがとうございます。

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

android - サービス付きのAndroidミュージックプレーヤー

私は学習目的のためのアンドロイド音楽プレーヤーの基本的な実装を探しています。私が欲しいのは、次のトラックと通知に移動するサービスとoncompletionlistenerを備えた音楽プレーヤーです。しかし、私はまだそのようなものを見つけることができていません。どんな助けでもありがたいです。前もって感謝します。

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

android - Android-ICS4.0のMediaPlayerバッファサイズ

MediaPlayerのプロキシとしてソケットを使用しているので、ソケットに書き込む前にmp3オーディオをダウンロードして復号化できます。これは、NPRニュースアプリに表示される例に似ていますが、すべてのAndroidバージョン2.1〜4atmでこれを使用しています。

NPRStreamProxyコード-http : //code.google.com/p/npr-android-app/source/browse/Npr/src/org/npr/android/news/StreamProxy.java

私の問題は、再生が2.1〜2.3で高速であるということですが、Android 4.0 ICSでは、MediaPlayerはonPreparedリスナーを起動する前に大量のデータをバッファリングします。

onPrepared()の前にSocketOutputStreamに書き込まれるデータ量の例:

2.3.4のSGS2の場合-〜133920バイト後のonPrepared()

4.0.4のNexusSの場合-〜961930バイト後のonPrepared()

これはGalaxyNexusでも発生します。

奇妙なことに、4.0エミュレータは4.0デバイスほど多くのデータをバッファリングしません。ICSのMediaPlayerで同様の問題が発生する人はいますか?

編集

プロキシがソケットに書き込む方法は次のとおりです。この例では、ファイルからロードされたCipherInputStreamからのものですが、HttpResponseからロードされた場合も同じことが発生します。

オーディオの前にMediaPlayerに書き込まれるHTTPヘッダー。

私は別の実装を探しましたが、オーディオを暗号化し、MediaPlayerはデータソースとしてInputStreamsをサポートしていないため、私の唯一のオプション(私は..)はこのようなプロキシを使用することです。

繰り返しになりますが、これはAndroid 2.1〜2.3でかなりうまく機能していますが、ICSでは、MediaPlayerは再生する前にこのデータの膨大な量をバッファリングしています。

編集2:

さらなるテストでは、これがAndroid4.0.3にアップグレードされたSGS2の問題でもあることが示されています。したがって、MediaPlayerのバッファリングの実装は4.0で大幅に変更されたようです。APIは動作を変更する方法を提供しないため、これはイライラします。

編集3:

Androidのバグが作成されました。コメントを追加して、そこにもスターを 付けてくださいhttp://code.google.com/p/android/issues/detail?id=29870

編集4:

私の再生コードはかなり標準的です。onPrepared()メソッドのMediaPlayerでstart()呼び出しがあります。

prepare()とajacian81の推奨方法を使用して試してみましたが、役に立ちませんでした。

最近、Googleの従業員が私の質問について私に連絡し、ICS(HDコンテンツ用)でバッファーサイズが意図的に増加していることを確認したことを付け加えておきます。MediaPlayerでバッファサイズを設定する機能を追加することがAPI開発者に要求されました。

このAPI変更リクエストは私が来る前からあったと思うので、誰にも息を止めてはいけません。

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

android - MusicPlayer 一時停止してそこからスタート

音楽アプリを開発しています。

プレーヤーを一時停止したいのですが、再開すると、その時点から開始されます。

Music.java

Sミュージックアクティビティ

停止ボタンを一時停止して再生したい。コーディングはしましたが、ご存知のように完璧なものは得られませんでした..では、これにPlayやPauseなどの操作をどのように組み込むことができますか。

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

android - 外部アプリからMusicPlaybackServiceを開始するにはどうすればよいですか?

Google Playミュージックアプリの上にあり、ブロードキャストを介して通信するサービスとレシーバーを介して、有線マイクのリモートボタンの機能を拡張しようとしています。私はGoogleNexusSを使用してICSを使用しています。

私が抱えている問題は、MusicPlaybackServiceが実行されるとコードがうまく機能することですが、常にそうであるとは限りません。UIを表示せずに(ユーザーが知らないうちに)このサービスを開始するにはどうすればよいですか。私のコードには次の定義があります。

私は次のオプションを試しました:

1)このSOの質問に基づいています。質問には「com.android.music.musicservicecommand」を使用する必要があると記載されているため、SERVICECMDについてはわかりませんが、ICSの場合はパッケージ名が変更されていると思います。

また、SERVICECMDをTOGGLEPAUSE_ACTIONに置き換えてみました。

2)このAndroidプロジェクトの問題から。

3)このコードは以下のエラーでクラッシュします。このオプションをさらに進める方法がわかりません。

原因:android.content.ActivityNotFoundException:明示的なアクティビティクラスが見つかりません{com.google.android.music/com.google.android.music.MusicPlaybackService}; AndroidManifest.xmlでこのアクティビティを宣言しましたか?

4)ヘッドセットを電話から取り外すと、WiredAccessoryObserverによって取得されたIntent.ACTION_HEADSET_PLUGブロードキャストに応答しているため、MusicPlaybackServiceが開始されることに気付きました。LogCatに表示されている値を使用して、そのブロードキャストをコードに複製してみました。

私は本当にサービスを開始するだけで常に機能する方法を探しています。私は何でも開いています。ランダムに中断するはずのIMediaPlaybackService.aidlを使用するサービスにバインドする必要がありますが、これは理想的ではありません。助けてくれてありがとう。

編集

以下のコードを使用してサービスにバインドしようとしましたが、エラーが発生しました。

原因:java.lang.SecurityException:サービスインテントへのバインドは許可されていません{cmp = com.google.android.music /.MusicPlaybackService}

私のOnCreate関数で

私のクラスで