当前位置: 首页 > news >正文

百度站长反馈九洲建设app

百度站长反馈,九洲建设app,有没有帮人做CAD的网站,怀化网站优化公司有哪些以下内容摘自郭霖《第一行代码》第三版 播放音频 MediaPlayer类中常用的控制方法 方法名功能描述setDataSource()设置要播放的音频文件的位置prepare()在开始播放之前调用,以完成准备工作start()开始或继续播放音频pause()暂停播放音频reset()将MediaPlayer对象重…

以下内容摘自郭霖《第一行代码》第三版

播放音频

MediaPlayer类中常用的控制方法

方法名功能描述
setDataSource()设置要播放的音频文件的位置
prepare()在开始播放之前调用,以完成准备工作
start()开始或继续播放音频
pause()暂停播放音频
reset()将MediaPlayer对象重置到刚刚创建的状态
seekTo从指定的位置开始播放音频
stop()停止播放音频。调用后的MediaPlayer对象无法再播放音频
release()释放与MediaPlayer对象相关的资源
isPlaying()判断当前MediaPlayer是否正在播放音频
getDuration()获取载入的音频文件的时长

MediaPlayer的工作流程。首先需要创建一个MediaPlayer对象,然后调用setDataSource()方法设置音频文件的路径,再调用prepare()方法使MediaPlayer进入准备状态,接下来调用start()方法就可以开始播放音频,调用pause()方法就会暂停播放,调用reset()方法就会停止播放。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:id="@+id/play"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Play" /><Buttonandroid:id="@+id/pause"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Pause" /><Buttonandroid:id="@+id/stop"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Stop" /></LinearLayout>

Android Studio允许我们在项目工程中创建一个assets目录,并在这个目录下存放任意文件和子目录,这些文件和子目录在项目打包时会一并被打包到安装文件中,然后我们在程序中就可以借助AssetManager这个类提供的接口对assets目录下的文件进行读取。

那么首先来创建assets目录吧,它必须创建在app/src/main这个目录下面,也就是和java、res这两个目录是平级的。右击app/src/main→New→Directory,在弹出的对话框中输入“assets”,目录就创建完成了。

MainActivity

package com.example.playaudiotestimport android.media.MediaPlayer
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Buttonclass MainActivity : AppCompatActivity() {private val mediaPlayer = MediaPlayer()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val play: Button = findViewById(R.id.play)val pause: Button = findViewById(R.id.pause)val stop: Button = findViewById(R.id.stop)initMediaPlayer()play.setOnClickListener {if(!mediaPlayer.isPlaying){mediaPlayer.start()             // 开始播放}}pause.setOnClickListener {if(mediaPlayer.isPlaying){mediaPlayer.pause()             // 暂停播放}}stop.setOnClickListener {if(mediaPlayer.isPlaying){mediaPlayer.reset()             // 停止播放initMediaPlayer()}}}private fun initMediaPlayer(){val assetManager = assetsval fd = assetManager.openFd("music.mp3")mediaPlayer.setDataSource(fd.fileDescriptor, fd.startOffset, fd.length)mediaPlayer.prepare()}override fun onDestroy() {super.onDestroy()mediaPlayer.stop()mediaPlayer.release()}
}

在类初始化的时候,我们就先创建了一个MediaPlayer的实例,然后在onCreate()方法中调用initMediaPlayer()方法,为MediaPlayer对象进行初始化操作。在initMediaPlayer()方法中,首先通过getAssets()方法得到了一个AssetManager的实例,AssetManager可用于读取assets目录下的任何资源。接着我们调用了openFd()方法将音频文件句柄打开,后面又依次调用了setDataSource()方法和prepare()方法,为MediaPlayer做好了播放前的准备。

最后在onDestroy()方法中,我们还需要分别调用stop()方法和release()方法,将与MediaPlayer相关的资源释放掉。

http://www.yayakq.cn/news/19806/

相关文章:

  • 普定县建设局网站wordpress 注册没密码
  • 北京网站制作到诺然网络组建论文
  • 上海金山网站建设公司廊坊网站搜索优化
  • 用自己电脑做网站 dns铜川市网站建设
  • 闸北东莞网站建设网站建设的技术团队
  • 网站建设必会的软件有哪些最有性价比的网站建设
  • 杭州网站开发工资wordpress消除
  • 建筑设计网站网址工信部网站用户名
  • 石家庄的网站建设公司免费自建app
  • 韶关市建设工程造价网站服装店网站模板
  • 公司网站制作教程国内wordpress插件
  • 会计证初级报考时间2023年报名搜索引擎优化的简称
  • 花店电子商务网站建设课题设计wordpress数字分页
  • 厦门官方网站建设网页游戏折扣充值平台
  • 襄汾网站建设深圳地铁优化
  • 一个工厂做网站有用吗国外设计文章的网站
  • 用wordpress 帮客户建站网站做全好吗
  • 公司设计网站有哪些百度地图导航2021最新版
  • 做网站用哪种编程语言网站建设策划 流程图
  • 广东网站建设方便现货交易平台排名
  • 做视频搬运哪个网站最赚钱做擦边球的网站
  • asp网站 打开软件下载网站排行
  • 天律网站建设之梦一个系统做多个网站
  • 建设银行网站账号怎么注销自学广告设计该怎么入手
  • 保洁产品网站建设价格公司网站建设的需求
  • pc端手机网站 viewport 自适应怎样做微课网站
  • 荣成城市规划建设局网站网站初期做几个比较好
  • 留言网站建设成都网站建设团队
  • 微信外链网站qq浏览器小程序入口
  • 交换链接营销的典型案例漳州优化网站建设