2016-12-19 10 views
0

私は次の状況を抱えています。私は音楽アプリを開発します。それにはメディアサービスが含まれています。 また、このアプリケーションにはMainActivityと4個のFragmentsが含まれています。各フラグメントの一番下には、再生、次のスキップ、前のスキップ、シャッフル、リピートのバーがあります。the bar in the bottom refers to MainActivityメディアサービスをアクティビティから制御する方法は?

下部のバーはMainActivityを指します。 また、アルバムタブとプレイリストタブには、タップできるアルバムとプレイリストのリストがあり、録画したアルバム/プレイリストの曲を使って別のアクティビティに移動します。私は1つだけのサービスしか持っていないので、すべてのサービスにバインドします(1つのフラグメント、2つのアクティビティ、実際にはリークがありますが別の問題です)。

質問はどうすればメディアの再生を制御できますか/一時停止、シャッフル、リピート)します。

は、私はすでにボタンにOnClickListenerを設定し、サービスメソッドを呼び出ししようとしましたが、その場合には私のようなエラーがあります。念のために private MediaPlayerService mediaPlayerService = new MediaPlayerService()(もちろん最後 private MediaPlayerService mediaPlayerService = MediaPlayerService.getInstance() と:私は両方を試してみました java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.media.MediaPlayer.isPlaying()' on a null object reference

を1つは動作しません)

私はmediaPlayerシングルトンを作ろうとしましたが、それは動作しますが、skipNext/Previouseの別の問題があります - idsのint songPositionと(ArrayList)もシングルトンでなければなりません)、良い、私しかし、別の問題prepareAsync州1のエラーで呼ばれた... W @ T @ F @ ...申し訳ありません、それは私の最初のプロジェクトであり、おそらく私は単純なものを非常に複雑な開発bycicleにしました。どんな助けも素晴らしいでしょう。 ありがとうございます。

+0

ところで、私はmessangerクラスを使用すると思っていましたが、まだ試していません。 –

答えて

0

最後に、私は答えを見つけました。正直言って、それほど難しくありませんでした。実際に私がやったことは、MainActivityにサービスをバインドすることです。私がやった後、すべてがうまく行きます。

関連する問題