zoukankan      html  css  js  c++  java
  • 5.1.2 通过意图使用内置的音频播放器

        如同使用摄像头一样,在应用程序中提供播放音频文件功能的最简单的方式是利用内置的“Music(音乐)”应用程序的功能。这个应用程序能够播放Android支持的所有格式,有一个用户熟悉的界面,并且可以通过意图来触发播放特定的文件。

        将通用android.content.Intent.ACTION_VIEW意图的数据设置为一个音频文件的URI,并指定其MIME类型,这样Android就可以挑选适当的应用程序进行播放。这应该是Music应用程序,但是如果用户安装了其他的音频播放软件,那么可能存在其他选项。

    1          Intent intent=new Intent(android.content.Intent.ACTION_VIEW);
    2          intent.setDataAndType(audioFileUri, "audio/mp3");
    3          startActivity(intent);

       下面是通过一个意图触发内置音频播放器应用程序的完整示例:

     1 package com.nthm.androidtest;
     2 
     3 import java.io.File;
     4 import android.app.Activity;
     5 import android.content.Intent;
     6 import android.net.Uri;
     7 import android.os.Bundle;
     8 import android.os.Environment;
     9 import android.view.View;
    10 import android.view.View.OnClickListener;
    11 import android.widget.Button;

         在触发播放音频之前,活动将监听是否按下一个按钮。由于活动实现OnClickListener,因此它可以响应该事件。

    1 public class AudioPlayer extends Activity implements OnClickListener {
    2     private Button playButton;
    3     
    4     @Override
    5     protected void onCreate(Bundle savedInstanceState) {
    6         super.onCreate(savedInstanceState);
    7         setContentView(R.layout.audioplayer);

        在将内容视图设置为我们的XML之后,可以在代码中获得按钮的引用,并设置活动(this)为OnClickListener。

    1         playButton=(Button) findViewById(R.id.Button01);
    2         playButton.setOnClickListener(this);
    3     }

        当单击按钮时,调用onClick方法。在该方法中使用的android.content.Intent.ACTION_VIEW构造意图,然后创建一个File对象,引用在SD卡上存在的音频文件。在当前情况下,音频文件被手动设置在SD卡的Music目录中,该目录是放置音乐相关音频文件的标准位置。

    1     @Override
    2     public void onClick(View v) {
    3         Intent intent=new Intent(android.content.Intent.ACTION_VIEW);
    4         File sdcard=Environment.getExternalStorageDirectory();
    5         File audioFile=new File(sdcard.getPath()+"music.mp3");

       接下来,将意图的数据设置为源自音频文件的Uri,并将类型设置为其MIME类型——audio/mp3。最后,通过调用startActivity并传入意图来触发内置的应用程序启动。

    1         intent.setDataAndType(Uri.fromFile(audioFile), "audio/mp3");
    2         startActivity(intent);
    3     }
    4 }

        以下是一个简单的布局XML文件,指定用于上述活动的按钮文本为“Play Audio”。

     1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     android:layout_width="match_parent"
     3     android:layout_height="match_parent"
     4     android:orientation="vertical"
     5     >
     6     <Button 
     7         android:layout_width="fill_parent"
     8         android:layout_height="wrap_content"
     9         android:text="Play Audio"
    10         android:id="@+id/Button01" />
    11 </LinearLayout>
  • 相关阅读:
    智慧养老民政监管平台建设方案
    CF600E Lomsat gelral dsu on tree
    dsu on tree详解
    【Spring 从0开始】Spring5 新功能,整合日志框架 Log4j2
    【Spring 从0开始】JdbcTemplate 数据库事务管理
    【Spring 从0开始】JdbcTemplate 数据库事务参数
    【Spring 从0开始】JdbcTemplate 数据库事务管理
    【Spring 从0开始】JdbcTemplate 操作数据库
    【Spring 从0开始】AOP 操作
    【Spring 从0开始】AOP 操作中的相关术语、环境准备
  • 原文地址:https://www.cnblogs.com/ZSS-Android/p/3938929.html
Copyright © 2011-2022 走看看