androidstuido_schooltest_6_media_service
生活随笔
收集整理的這篇文章主要介紹了
androidstuido_schooltest_6_media_service
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- activity_main.xml
- MainActivity.java
- MusicService.java
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><Buttonandroid:id="@+id/btn_main_play"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="play" /><Buttonandroid:id="@+id/btn_main_stop"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="stop" /><Buttonandroid:id="@+id/btn_main_pause"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="pause" /><Buttonandroid:id="@+id/btn_main_exit"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="exit" /></LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>MainActivity.java
package com.kanxue.school_test_3;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.Button;public class MainActivity extends AppCompatActivity implements View.OnClickListener {Button btn_main_play;Button btn_main_stop;Button btn_main_pause;Button btn_main_exit;//連接到播放文件MediaPlayer player=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);btn_main_play = findViewById(R.id.btn_main_play);btn_main_stop = findViewById(R.id.btn_main_stop);btn_main_pause = findViewById(R.id.btn_main_pause);btn_main_exit = findViewById(R.id.btn_main_exit);btn_main_play.setOnClickListener(this);btn_main_stop.setOnClickListener(this);btn_main_pause.setOnClickListener(this);btn_main_exit.setOnClickListener(this);player=MediaPlayer.create(this,R.raw.water_hander);}@Overridepublic void onClick(View v) {Intent intent= new Intent(MainActivity.this,MusicService.class);if(v.getId()==R.id.btn_main_play){intent.putExtra("action","play");startService(intent);}else if(v.getId()==R.id.btn_main_stop){intent.putExtra("action","stop");startService(intent);}else if(v==btn_main_pause){intent.putExtra("action","pause");startService(intent);}else if(v.getId()==R.id.btn_main_exit){stopService(intent);finish();}}}MusicService.java
package com.kanxue.school_test_3;import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder;public class MusicService extends Service {public MediaPlayer player=null;public MusicService() {} //啟動service@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {//獲取動作String action=intent.getStringExtra("action");if(action.equals("play")){if(player==null){player=MediaPlayer.create(this,R.raw.water_hander);}player.start();}else if(action.equals("pause")){player.pause();}else if(action.equals("stop")){if(player!=null){player.stop();player.reset();player.release();player=null;//注意不能少賦值null,否則出bug}}return super.onStartCommand(intent, flags, startId);}@Overridepublic IBinder onBind(Intent intent) {// TODO: Return the communication channel to the service.throw new UnsupportedOperationException("Not yet implemented");}@Overridepublic void onDestroy() {super.onDestroy();if(player!=null){player.stop();player.reset();player.release();player=null;//注意不能少賦值null,否則出bug}} }總結
以上是生活随笔為你收集整理的androidstuido_schooltest_6_media_service的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: androidstuido_school
- 下一篇: androidstuido_school