• 音频的播放一


    一、简单的音频播放

    【项目准备】

    ①一个视频文件,视频文件的位置---->在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" />

     

    【效果】点击后合成器会在动

     

  • 相关阅读:
    MyBatis入门案例
    springboot mybatis 后台框架平台 集成代码生成器 shiro 权限
    原谅这世界没那么美好
    十万的License只取决于一个连接
    Qt连接数据库的两种方法
    桃李春风一杯酒 江湖夜雨十年灯
    ERROR:Can't connect to local MySQL server through socket可能出现的情况
    MySQL忽略授权表方式<--skip-grant-tables>重置管理用户密码
    MySQL5.7和5.6初始化数据的区别
    Rsync同步过程中遇到的常见问题
  • 原文地址:https://www.cnblogs.com/xqz0618/p/yinpin1.html
Copyright © 2020-2023  润新知