音频文件操作1(系统铃声)
来源:互联网 发布:pwp网络用语是什么意思 编辑:程序博客网 时间:2024/05/14 02:27
1,如何打开系统铃声库,选择铃声?
Intent i=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
startActivityForResult(i, 0);
如上即可弹出一个铃声选择的Dialog
,我们选择了其中的某一个铃声后,如何知道把自己选择的铃声保存起来,以后使用了?
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case 0:if (resultCode == RESULT_OK) {Bundle b = data.getExtras();Uri uri = (Uri) b.get("android.intent.extra.ringtone.PICKED_URI");if(uri==null){showToast("你没有选择铃声!");return;}if(uri.equals(android.provider.Settings.System.DEFAULT_RINGTONE_URI)){Cursor cc=getContentResolver().query(uri, null, null, null, null);if(cc.getCount()==0){showToast("默认铃声为空!");return;}cc.moveToFirst();uri=Uri.parse(cc.getString(2));}//System.out.println(b.get("android.intent.extra.ringtone.PICKED_URI"));Cursor c = getContentResolver().query(uri, null, null, null,null);System.out.println(Arrays.toString(c.getColumnNames()));if(c.getCount()==0)return;c.moveToFirst();String music_data=c.getString(1);//这个为音乐文件的地址MediaPlayer mp = new MediaPlayer();try {mp.setDataSource(music_data);mp.prepare();mp.start();} catch (Exception e) {e.printStackTrace();}c.close();}break;}super.onActivityResult(requestCode, resultCode, data);}private void showToast(String str){Toast.makeText(this, str, Toast.LENGTH_SHORT).show();}
下边是我打印的cursor返回的的列数组:
[_id, _data, _display_name, _size, mime_type, date_added, date_modified, title, title_key, duration, artist_id, composer, album_id, track, year, is_ringtone, is_music, is_alarm, is_notification, is_podcast, bookmark, artist_id:1, artist_key, artist, album_id:1, album_key, album]
data就是歌曲的地址,我们需要的就是这个,display name是歌曲显示的名字,size是歌曲的大小。title是歌曲的名字。 举例说下,比如歌曲是abc.mp3 这个display那么就是abc.mp3 而起实际的名字是 朋友就是所谓的title了。
duration是歌曲的时间,毫秒值。。其他的看字面意思也很好理解的,需要啥就用撒
比如我执行如下的代码:
System.out.println(c.getString(1));
System.out.println(c.getString(2));
System.out.println(c.getString(3));
System.out.println(c.getString(7));
System.out.println(c.getString(9));
System.out.println(b .get("android.intent.extra.ringtone.PICKED_URI"));
结果为:
2,如何调整声音的大小,以及 如何静音
audiomanger=(AudioManager) getSystemService(Service.AUDIO_SERVICE); 获取音频管理
audiomanger.setStreamMute(AudioManager.STREAM_MUSIC, true) ; true静音,
audiomanger.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); 增大音量,带音量界面的
audiomanger.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); 减小音量
3震动
需要的权限<uses-permission android:name="android.permission.VIBRATE"/>
Vibrator vibrator=(Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(1000);//振動時間為1秒
vibrator.vibrate(new long[]{200,500,800,1200}, 0);
//按數組的時間交替啟動,關閉振動,後邊的參數為啟動的數組下角標
vibrator.cancel();
- 音频文件操作1(系统铃声)
- 设置音频文件为铃声
- 校园铃声系统 官网
- 校园铃声系统 免费
- 播放系统默认铃声
- 调用系统铃声设置
- 调用系统铃声设置
- 设置系统铃声
- 调用系统默认铃声
- Android 获取系统铃声
- 关于音频文件的操作
- Android 7.1.1 系统时区,语言,地区,铃声配置
- ios系统提示音的使用(不是铃声)
- (MTK)android 4.4,6.0系统开关机动画铃声修改
- Android N的铃声问题(1)
- Android系统铃声音乐文件夹
- android 调用系统铃声方法
- Android 修改系统来电铃声
- 阿里巴巴一道笔试题
- 删除数组中相同的数,统计两个数组中重复数个数并把不同数找出来
- 解决问题的一种方法
- zhangping
- 在cocos2d-x界面中嵌入Android的WebView
- 音频文件操作1(系统铃声)
- 酷站收藏
- 10453 Make Palindrome (dp)
- 标准 BT656 并行 数据结构 详解
- keyStore和truststore区别
- 关于折半查找的思考
- flash player所有版本下载地址
- VS2008 C++ 调用MATLAB 2010a 生成的DLL
- Summary for SourceInsight