一、简单的音频播放
【项目准备】
①一个视频文件,视频文件的位置---->在res下新建文件夹row------>将视频放入row文件夹中
②一般音频播放是不需要一直停留在界面的,所以音频播放应该放在service中,即使界面被回收,也一直在播放。
【项目结构】
【界面代码】
1 <Button
2 android:id="@+id/btn_play"
3 android:text="播放"
4 android:layout_width="match_parent"
5 android:layout_height="wrap_content" />
【MainActivity.class】
1 public class MainActivity extends AppCompatActivity {
2
3 ImageView ivPlay = null, ivRePlay = null;
4 @Override
5 protected void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.activity_main);
8
9 ivPlay = (ImageView) findViewById(R.id.btn_play);
10 ivPlay.setOnClickListener(new View.OnClickListener() {
11 @Override
12 public void onClick(View view) {
13 Intent intent = new Intent(MainActivity.this, MediaPlayService.class);
14 startService(intent)
15 }
16 });
17 }
18 }
【service代码】
1 public class MediaServiceA extends Service {
2
3 MediaPlayer mediaPlayer;
4 public MediaServiceA() {
5 }
6 @Override
7 public IBinder onBind(Intent intent) {
8 // TODO: Return the communication channel to the service.
9 throw new UnsupportedOperationException("Not yet implemented");
10 }
11
12 @Override
13 public int onStartCommand(Intent intent, int flags, int startId) {
14
15 if (mediaPlayer==null) {
16 mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.ylzs);
17 }//对mediaPlayer是否为空进行一个判断,如果不为空就不再Create,否则会重复播放
18 if (mediaPlayer!=null) {
19 mediaPlayer.start();
20 }
21 return super.onStartCommand(intent, flags, startId);
22 }
23 }
【提示】创建service时可通过以下方法注册,否则Service要进行注册
【AndroidManifest.xml】
1 <service
2 android:name=".service.MediaServiceA"
3 android:enabled="true"
4 android:exported="true" />
【效果】点击后合成器会在动