`

音频的播放

 
阅读更多

1.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="wyf.ytl.MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="没有播放任何声音" />

    <Button 
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="使用MediaPlayer播放声音"
        />
    
    <Button 
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="暂停MediaPlayer声音"
        />
    
    <Button 
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="使用SoundPool播放声音"
        />
    
    <Button 
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="暂停SoundPool声音"
        />
    
</LinearLayout>

 

 

2.

public class MainActivity extends ActionBarActivity implements android.view.View.OnClickListener{

	Button button1;
	Button button2;
	Button button3;
	Button button4;
	TextView textView;
	MediaPlayer mMediaPlayer;
	SoundPool soundPool;
	HashMap<Integer, Integer> soundPoolMap;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initSounds();
		textView = (TextView) findViewById(R.id.textView);
		button1 = (Button) findViewById(R.id.button1);
		button2 = (Button) findViewById(R.id.button2);
		button3 = (Button) findViewById(R.id.button3);
		button4 = (Button) findViewById(R.id.button4);
		
		button1.setOnClickListener(this);
		button2.setOnClickListener(this);
		button3.setOnClickListener(this);
		button4.setOnClickListener(this);
		
	}

	public void initSounds(){
		//初始化mediaplayer
		mMediaPlayer = MediaPlayer.create(this, R.raw.backsound);
		soundPool = new SoundPool(4,AudioManager.STREAM_MUSIC, 100);
		soundPoolMap = new HashMap<Integer, Integer>();
		soundPoolMap.put(1, soundPool.load(this, R.raw.dingdong, 1));
	}
	
	//用SoundPool播放声音的方法
	public void playSound(int sound,int loop) {
		AudioManager mgr = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
		float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
		float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
		float volume = streamVolumeCurrent/streamVolumeMax;
		soundPool.play(soundPoolMap.get(sound), volume, volume, 1, loop, 1f);
	}
	
	@Override
	public void onClick(View v) {
		int key = v.getId();
		switch (key) {
		case R.id.button1:
			textView.setText("use MediaPlayer to play sound");
			if(!mMediaPlayer.isPlaying()){
				mMediaPlayer.start();
			}
			break;
			
		case R.id.button2:
			textView.setText("suspend MediaPlayer's sound ");
			if(mMediaPlayer.isPlaying()){
				mMediaPlayer.pause();
			}
			break;
			
		case R.id.button3:
			textView.setText("use SoundPool to play sound");
			this.playSound(1, 0);
			break;
			
		case R.id.button4:
			textView.setText("suspend the SoundPool's sound");
			soundPool.pause(1);
			break;

		default:
			break;
		}
	}
}

 

分享到:
评论

相关推荐

    amr音频播放插件

    在现代的Web开发中,音频内容的处理是一个重要...总的来说,AMR音频播放插件是Web开发中的一个重要工具,它扩展了浏览器的音频播放能力,使得开发者可以轻松地在网页中集成AMR音频内容,为用户提供更丰富的多媒体体验。

    linux音频播放和停止

    在Linux操作系统中,音频播放和停止是通过一系列的命令行工具和库来实现的。本文将深入探讨如何在Linux环境下进行音频播放与控制,以及如何将这些技术应用于实际项目。 一、音频播放基础 在Linux中,有多种音频...

    html5自定义音频播放界面

    HTML5自定义音频播放界面是现代网页开发中的一个重要特性,它允许开发者摆脱浏览器默认的音频播放控件,创建个性化的音频播放体验。在本项目中,开发者利用HTML5的Audio API构建了一个自定义的音频播放器小界面。...

    简单的音频播放程序

    在IT领域,音频播放程序是常见的应用之一,用于处理和播放音频文件。在这个"简单的音频播放程序"中,我们主要关注的是如何利用编程语言实现音频的播放、暂停和停止功能,以及涉及到的多媒体控件MMcontrol。这个程序...

    android下一个jni方式实现的音频播放

    通过这个示例,开发者不仅可以学习如何在Android中使用JNI进行音频播放,还可以了解Android音频系统的底层工作原理,这对于开发高质量的音乐应用或游戏至关重要。同时,它也是一个实践NDK编程、提高跨平台能力的良好...

    外国开源音频播放源码

    【标题】"外国开源音频播放源码"涉及的是在Android平台上开发音频播放应用的技术,主要集中在源码层面,这通常意味着开发者有机会深入了解音频播放器的工作原理,并可以根据需求进行定制和改进。开源意味着代码是...

    android音频播放控件

    在Android平台上,开发一款应用程序,特别是涉及到多媒体功能时,音频播放控件是不可或缺的一部分。本文将深入探讨如何创建一个基于Android的自定义音频播放控件,以实现更灵活、更个性化的音频播放体验。 首先,...

    联想工程师专用小工具 Windows音频播放问题修复工具V1.51.1

    联想工程师专用小工具 Windows音频播放问题修复工具V1.51.1联想工程师专用小工具 Windows音频播放问题修复工具V1.51.1联想工程师专用小工具 Windows音频播放问题修复工具V1.51.1联想工程师专用小工具 Windows音频...

    超小的 Airplay音频播放 绿色软件

    【超小的 Airplay音频播放 绿色软件】 Airplay音频播放器是一款专注于提供轻量级音频播放体验的软件,其特色在于体积小巧,却具备强大的功能。作为一款绿色软件,它无需安装即可使用,非常方便快捷。对于那些希望在...

    Android 视频音频播放 demo 实例源码下载

    在Android平台上,开发一款视频和音频播放应用是常见的任务,涉及到多媒体处理和用户界面交互等多个技术领域。这个"Android 视频音频播放 demo 实例源码下载"提供了一个宝贵的资源,帮助开发者理解和实现这一功能。...

    ios-音频播放组件显示波纹.zip

    在iOS开发中,创建一个能够显示波纹效果的音频播放组件是一项常见的需求,尤其是在音乐、播客或声音应用中。这个“ios-音频播放组件显示波纹.zip”压缩包提供了一个实现这一功能的示例项目,名为“demo_audio_play_...

    音频播放02--增加快进快退

    在开发音频播放应用时,为用户提供快进和快退功能是非常重要的,这使得用户能够自由地控制音频的播放位置,提升用户体验。本节我们将详细探讨如何在Android平台上使用`MediaPlayer`类来实现音频播放,并添加快进快退...

    matlab开发-简单音频播放

    4. **音频播放**:MATLAB的`audioplayer`对象用于播放音频。开发者可以创建一个`audioplayer`对象,将读取的音频数据传递给它,然后调用`play`方法开始播放。此外,`audioplayer`还提供了控制播放进度、音量等的接口...

    c# 音频播放 Demo

    在C#编程环境中,开发音频播放功能是一项常见的需求,尤其对于多媒体应用或者游戏开发来说更是必不可少。本Demo主要展示了如何在C#中实现对不同音频格式(如wav、mp3、wma)的支持,帮助开发者了解和掌握相关技术。...

    用Java实现音频播放

    在Java编程环境中,实现音频播放是一项常见的任务,尤其在开发多媒体应用或游戏时。Java提供了丰富的API来处理音频,使得开发者能够轻松地集成音频播放功能。本篇文章将深入探讨如何用Java实现音频播放,主要涉及...

    HarmonyOS之演示音频播放、音频采集、音量管理和短音播放等功能.zip

    音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音频采集、音量管理和短音播放等。 1、音频播放的主要工作是将音频数据转码为可听见的音频模拟信号并通过输出设备进行播放,同时对播放任务进行...

    android音频播放

    在Android平台上开发应用程序时,音频播放是一个常见的需求。本资源提供的"VoiceDemo"是一个针对初学者的简单音乐播放器示例,它可以帮助开发者了解如何在Android应用中集成音频播放功能。下面将详细介绍这个实例中...

    微信小程序开发之录音机 音频播放 动画 (真机可用)(源代码+截图)

    微信小程序开发之录音机 音频播放 动画 (真机可用)(源代码+截图)微信小程序开发之录音机 音频播放 动画 (真机可用)(源代码+截图)微信小程序开发之录音机 音频播放 动画 (真机可用)(源代码+截图)微信小程序开发之录音...

    coolpro2音频播放软件,支持任何格式音频文件播放

    在数字音乐时代,一款强大的音频播放软件是必不可少的。本文将深入探讨“coolpro2”这款音频播放软件,它以其全面的音频格式支持和编解码测试功能,成为音乐爱好者和音频工程师的首选工具。 **一、全格式支持** ...

    iOS 音频播放测试包

    在iOS开发中,音频播放是常见且重要的功能,尤其在网络音频和语音合成方面。这个"iOS音频播放测试包"提供了一个完整的解决方案,涵盖了从网络音频流的获取到本地音频的播放,以及集成讯飞语音合成技术。以下是这些...

Global site tag (gtag.js) - Google Analytics