AudioManager播放音乐

2024-04-26 12:18
文章标签 音乐 播放 audiomanager

本文主要是介绍AudioManager播放音乐,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AudioManager控制手机音频

主要是:声音类型,音量大小或者静音
AudioManager的常用方法:
 adjustStreamVolume(int streamType,int direction,int flags)调整手机指定类型声音
 第一个参数: streamType:声音类型
 AudioManager.STREAM_ALARM 手机闹铃的声音
 AudioManager.STREAM_MUSIC 手机音乐的声音
 AudioManager.STREAM_NOTIFICATION 系统提示的通知
 AudioManager.STREAM_RING 电话铃声的声音
 AudioManager.STREAM_SYSTEM 手机系统的声音
 AudioManager.STREAM_VOICE_CALL 语音电话的声音
 AudioManager.STREAM_DTMF DTMF音调的声音

 第二个参数:direction声音的增大,减少
 AudioManager.ADJUST_RAISE
 AudioManager.ADJUST_LOWER
 第三个参数:flags 调整声音时标志,如指定AudioManager.FLAG_SHOW_UI,是调整声音时显示音量进度条

 setMicrophoneMute(boolean on);设置麦克风静音
 setSpeakerphoneOn(boolean on):设置是否打开扩音器
 setMode(int mode);设置声音模式,NORMAL,RINGTONE,IN_CALL
 setRingerMode(int ringermode);设置手机电话铃声的模式,
 RINGER_MODE_NORMAL;正常的手机铃声
 RINGER_MODE_SILENT;手机铃声静音
 RINGER_MODE_VIBRATE:手机振动

 setStreamMute(int streamType,boolean state);设置指定类型的声音的静音
 setStreamVolume(int streamtype.int index,int flags);设置指定类型的的音量值

本程序中提供一个按钮用于播放音乐,系统使用MediaPlayer播放音乐,另外两个按钮调整音量,并使用一个ToggleButton来控制是否静音


MainActivity.java

package com.hust.audiomanager;import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ToggleButton;
/*主要是:声音类型,音量大小或者静音* AudioManager的常用方法:*  adjustStreamVolume(int streamType,int direction,int flags)调整手机指定类型声音* 第一个参数: streamType:声音类型*  AudioManager.STREAM_ALARM 手机闹铃的声音*  AudioManager.STREAM_MUSIC 手机音乐的声音*  AudioManager.STREAM_NOTIFICATION 系统提示的通知*  AudioManager.STREAM_RING  电话铃声的声音*  AudioManager.STREAM_SYSTEM  手机系统的声音 *  AudioManager.STREAM_VOICE_CALL 语音电话的声音*  AudioManager.STREAM_DTMF   DTMF音调的声音*  * 第二个参数:direction声音的增大,减少*  AudioManager.ADJUST_RAISE*  AudioManager.ADJUST_LOWER* 第三个参数:flags 调整声音时标志,如指定AudioManager.FLAG_SHOW_UI,是调整声音时显示音量进度条* * setMicrophoneMute(boolean on);设置麦克风静音* setSpeakerphoneOn(boolean on):设置是否打开扩音器* setMode(int mode);设置声音模式,NORMAL,RINGTONE,IN_CALL* setRingerMode(int ringermode);设置手机电话铃声的模式,* 		RINGER_MODE_NORMAL;正常的手机铃声* 		RINGER_MODE_SILENT;手机铃声静音* 		RINGER_MODE_VIBRATE:手机振动* * setStreamMute(int streamType,boolean state);设置指定类型的声音的静音* setStreamVolume(int streamtype.int index,int flags);设置指定类型的的音量值* * * */
public class MainActivity extends Activity {Button play,up,down;ToggleButton toggle;AudioManager audiomanager;//音频管理器@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获取音频管理器服务audiomanager=(AudioManager) getSystemService(Context.AUDIO_SERVICE);play=(Button) findViewById(R.id.button1);up=(Button) findViewById(R.id.button2);down=(Button) findViewById(R.id.button3);toggle=(ToggleButton) findViewById(R.id.toggleButton1);play.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//用MediaPlayer类播放音频文件MediaPlayer media=MediaPlayer.create(MainActivity.this, R.raw.love);media.setLooping(true);media.start();//开始播放}});up.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// 声音类型是音乐,音量+,显示图形音量audiomanager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);}});down.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubaudiomanager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);}});toggle.setOnCheckedChangeListener(new OnCheckedChangeListener(){@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {// TODO Auto-generated method stubaudiomanager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}
}
activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><Buttonandroid:id="@+id/button1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Play_Music" /><Buttonandroid:id="@+id/button2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Volume+" /><Buttonandroid:id="@+id/button3"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Volume-" /><ToggleButtonandroid:id="@+id/toggleButton1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="ToggleButton"android:textOff="关闭静音"android:textOn="开启静音" /></LinearLayout>




这篇关于AudioManager播放音乐的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937560

相关文章

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

UniApp实现漂亮的音乐歌词滚动播放效果

在现代的音乐播放应用中,歌词的展示和滚动播放已经成为了一个非常常见的功能。今天,我们将通过UniApp来实现一个漂亮的歌词滚动播放功能。我们将使用UniApp提供的组件和API来完成这个任务。 页面结构 在页面的模板部分,我们需要创建一个音频播放器和歌词展示区域。使用<scroll-view>组件来实现歌词的滚动效果。 <template><view class="audio-co

QT项目实战之音乐播放器2.0版本

该版本相较于1.0版本最主要的不同在于连接数据库实现类似于歌曲收藏和取消收藏的功能。 详细情况看我的这篇文章http://t.csdnimg.cn/WS5s8。 效果展示 VSMyMusicShow2.0 define.h UseMySQL.h   musicInfo.h   VSMyMusicPlayer.h

Vue 中实现视频播放的艺术

随着前端技术的飞速发展,视频播放在 Web 应用中已经成为了一个不可或缺的功能。从社交媒体平台到教育网站,再到在线购物平台,视频元素无处不在。而 Vue.js 作为当今最流行的前端框架之一,在实现视频播放时提供了很多强大的工具和技巧。在这篇博客中,我们将深入探讨如何使用 Vue.js 实现视频播放功能,不仅仅是简单地嵌入视频,还要添加一些高级功能,如自定义播放器控件、播放进度条、视频切换、事件处理

《黑神话:悟空》专题合集MOD/修改器/壁纸/音乐/CG剧情

《黑神话:悟空》专题合集」 链接:https://pan.quark.cn/s/d67857f4e308 包含内容: 《黑神话:悟空》MOD合集 《黑神话:悟空》修改器(风灵月影) 《黑神话:悟空》壁纸合集 《黑神话:悟空》3小时CG完整剧情合集 4K120帧最高画质!国语 简中字幕 附:4K 结尾动画合集 ​​​国语 简中字幕 《黑神话:悟空》主题曲 《黑神话

28.8K Star,音乐新体验,开启你的高颜值音乐之旅

Hi,骚年,我是大 G,公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 导语 音乐是生活中不可或缺的调味品,一个好的音乐播放器能够极大地提升我们的听觉享受。今天,我要向大家推荐一个名为 YesPlayMusic 的第三方网易云音乐播放器,它不仅拥有高颜值的界面设计,还支持跨平台使用,让你的音乐体验更上一层楼

浅析网页不安装插件播放RTSP/FLV视频的方法

早期很多摄像头视频流使用的是RTSP、RTMP协议,播放这类协议的视频通常是在网页上安装插件。但现在越来越多的用户,对于网页安装插件比较反感,且随着移动设备的普及,用户更多的希望使用手机、平板等移动设备,直接可以查看这些协议的视频。那是否有什么方案可以直接网页打开RTSP、RTMP协议的视频,直接观看不用安装插件呢?而且对于摄像头的数据,尽可能低延迟的获取实时画面。  其实很多摄像头厂家也注意到