在Android 4.4上开机音乐,要实现开机音乐。通过在BootAnimation 中加入以下代码便可

void BootAnimation::playMusic()
{sp<MediaPlayer> mp = new MediaPlayer();if ((0 == access(BOOTMUSIC_FILE, F_OK)) && mp != NULL) {mp->setDataSource(BOOTMUSIC_FILE, NULL);mp->setVolume(0.5,0.5);mp->prepare();mp->start();}
}

但是在5.1 和 6.0 上以上步骤就行不通了。由于BootAnimation是由surfaceflinger 启动,在5.0以上系统中,由于BootAnimation 启动的时候,Mediasever 还没有完全启动,所以上面代码不能播放音乐。至于为什么在4.4 上Mediasever 已经启动,而5.1 以上系统没有启动呢? 因为在5.1 系统服务比4.4 多了一个电池统计服务,启动较慢导致Mediasever 没有启动成功。

那怎么样才能播放开机音乐呢?其实在5.1 以上的系统android 在BootAnimation中预留了AudioPlayer的服务。它可以直接操作pcm 播放wav 格式的音乐。但是前提是你要自己配置audio_conf 文件。下面是笔者自己的配置文件。这个文件的配置要和硬件保持一致,具体配置可以参考hardware 中关于音频硬件的配置,笔者的硬件是RT3261

card=0
device=0
period_size=1024
period_count=4
mixer "I2S Switch"=1
mixer "ASRC Switch"=Disable
mixer "Speaker Playback Switch"=0 0
mixer "OUT Playback Switch"=0 0
mixer "Modem Input Switch"=0 0
mixer "DAC L2 Mux"=IF2
mixer "DAC R2 Mux"=IF2
mixer "Mono dacr Mux"=TxDC_R
mixer "DACR Select"=IF2_DAC
mixer "Mono DAC MIXL DAC L2 Switch"=1
mixer "Mono DAC MIXR DAC R2 Switch"=1
mixer "DAC MIXL INF1 Switch"=1
mixer "DAC MIXR INF1 Switch"=1
mixer "Stereo DAC MIXL DAC L1 Switch"=1
mixer "Stereo DAC MIXR DAC R1 Switch"=1
mixer "SPK MIXL DAC L2 Switch"=1
mixer "SPK MIXR DAC R2 Switch"=1
mixer "Speaker Playback Volume"=32 31
mixer "Mono DAC Playback Volume"=175 173
mixer "DAC1 Playback Volume"=175 173
mixer "Class D SPK Ratio Control"=10
mixer "RECMIXL BST2 Switch"=0
mixer "Stereo ADC MIXL ADC1 Switch"=0
mixer "DAC MIXL Stereo ADC Switch"=0
mixer "Mono DAC MIXL DAC L1 Switch"=0
mixer "OUT MIXL DAC L2 Switch"=0
mixer "SPK MIXL OUT MIXL Switch"=0
mixer "OUT MIXR DAC L2 Switch"=0
mixer "SPK MIXR OUT MIXR Switch"=0
mixer "Stereo DAC MIXR DAC R2 Switch"=0
mixer "LOUT MIX DAC R1 Switch"=0
mixer "Stereo DAC MIXL DAC L2 Switch"=0
mixer "LOUT MIX DAC L1 Switch"=0
mixer "OUT MIXR DAC R2 Switch"=0
mixer "HPO MIX HPVOL Switch"=0
mixer  "OUT MIXL DAC L1 Switch"=0
mixer  "OUT MIXL DAC L1 Switch"=0
mixer  "OUT MIXL REC MIXL Switch"=0
mixer  "OUT MIXL REC MIXL Switch"=0
mixer  "DAC MIXR Stereo ADC Switch"=0
mixer "Speaker Playback Switch"=1 1
mixer  "I2S Switch"=1

制作好audio_conf.txt文件后,将其放到开机动画的目录中,打包之后放入相应目录,即可播放开机音乐。

Android 5.0 以上开机音乐实现相关推荐

  1. android开机音乐相关,Android 5.0 以上开机音乐实现

    在Android 4.4上开机音乐,要实现开机音乐.通过在BootAnimation 中加入以下代码便可 1 2 3 4 5 6 7 8 9 10 11void BootAnimation::play ...

  2. Android 9.0 10蓝牙音乐获取歌手、歌曲等信息

    Android 9.0中蓝牙音乐其实实现很简单,蓝牙远程服务处理在Bluetooth中. 修改代码路径: android/packages/apps/Bluetooth./jni/com_androi ...

  3. android 4.0.3开机时不能收到广播

    ============问题描述============ 在android 4.0.3的手机上,receiver在手机开机后收不到启动广播,代码如下: 配置文件:    <receiver an ...

  4. android 6.0关闭开机启动器,Android实现开机自启动及开机自启动失败原因

    1.开机自启动实现代码 BroadcastReceiver开机自启动实现,MainActivity.class为自启动显示的页面. public class BootBroadcastReceiver ...

  5. Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框

    1.概述 在9.0的系统产品rom定制化开发中,在一些产品中会出现在首次开机的时候,由于在开机动画播放完以后会出现几秒短暂的黑屏情况,然后进入默认Launcher,这在产品体验上 也是感觉到有点差,所 ...

  6. Android 7.0平台开机启动

    Android 启动概述 Android 系统是运行在Linux 内核上的,所以它的启动过程则是基于kernel的启动发生的.首先Kernel启动过程中会创建用户空间的第一个进程init进程,该进程也 ...

  7. android 9.0定时开机的实现

    最近项目要实现定时开机的功能,现在做个笔记记录一下,以防以后忘记,代码如下: private void setPowerOnAlarm(Context mContext) { //定时开机时间,时间设 ...

  8. android 10.0添加开机铃声

    在定制化系统中,默认是没有开机铃声的,有客户提出需要要添加开机铃声,所以为了 完成需求,就来实现这一个功能 关于开机铃声 都是在bootanimation_main.cpp 这里面负责管理 frame ...

  9. android 11.0添加开机铃声

    1.概述 在11.0在定制化系统中,默认是没有开机铃声的,有客户提出需要要添加开机铃声,所以为了 完成需求,就来实现这一个功能 关于开机铃声 都是在BootAnimation.cpp 这里面负责管理 ...

最新文章

  1. 力扣(LeetCode)刷题,简单题+中等题(第20期)
  2. JSTL EL对Map集合的支持
  3. 锐捷设备密码破解方法
  4. 速率法和终点法的区别_生化分析仪检测中的终点法、两点法、双波长法有什么区别...
  5. 如何捕获 EF 生成的 SQL 脚本?
  6. mysql二级缓存redis_SpringBoot+Mybatis+redis(二级缓存)搭建
  7. python 贴吧自动回复_利用Python实现微信自动回复!我打游戏再也不怕女朋友发信息了...
  8. 如何用python打印田字格_如何用EXCEL做一套田字格模板?在家给小孩练习写字
  9. 华彬 - 华彬讲透孙子兵法(2015年5月22日)
  10. html购物车结算代码,JavaScript购物车结算案例
  11. c语言lua游戏辅助,Lua游戏脚本语言入门
  12. python xlwt_python xlwt模块简介
  13. 三星手机GT-S7898连不上电脑,无法调试
  14. 代理模式(自己实现源码)
  15. python中单引号的作用_Python中单引号,双引号,3个引号的用法
  16. 输入一个大写或者小写,输出其相反的大小写。(c语言)
  17. 百度图片翻译API,对开发者真的很友好
  18. 学计算机心得体会50字,阅读心得体会50字
  19. 技术之外——哀悼我的大学舍友
  20. Redis缓存一致性问题解决方案

热门文章

  1. Dubbo从入门到精通(全)
  2. SIFT特征原理及步骤
  3. sql获取当前时间前后5天、月的方式
  4. spring容器启动事件监听
  5. 友转 | 翘首期待Bluetooth Asia 2019蓝牙亚洲大会
  6. 超市无线覆盖的需求分析
  7. 腾讯云 TDSQL 在 PostgreSQL 领域的‘‘再次突破’’
  8. Mysql命令drop table:删除数据表
  9. 信息论与编码:信道编码的基本概念
  10. 什么对象都有prototype吗?