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

1

2

3

4

5

6

7

8

9

10

11void BootAnimation::playMusic()

{

sp 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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46card=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开机音乐相关,Android 5.0 以上开机音乐实现相关推荐

  1. Android 8.0 开机动画,RK3326 android10.0(Q) 开机logo+开关机动画替换

    RK3326 android10.0(Q) 开机logo+开关机动画替换 2020年08月14日 | 萬仟网移动技术 | 我要评论 开机logouboot和kernel阶段的logo分别为开机显示的第 ...

  2. Android Studio实现音乐播放器2.0

    项目目录 一.引言 二.项目概述 1.需求分析 2.设计分析 3.资源文件分析 三.开发环境 四.优化设计 1.上一首下一首 2.个性化按钮 五.运行效果 六.项目总结 七.源码获取 一.引言 我在一 ...

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

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

  4. Android 7.0平台开机启动

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

  5. 音乐播放器从0到读取手机内的音乐文件——Android Studio小白实训笔记

    前言: 小白的我在经历了两周的Android Studio实训课的学习后,编辑了简易音乐播放器的半成品,通过两周的学习让我对打码又激起了兴趣,很感谢实训老师江哥(博客ID:3052world)的悉心教 ...

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

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

  7. android 显示状态栏广播,安卓8.0样式音乐状态栏下载-Android O样式音乐状态栏(media notification)下载v1.0.4 安卓版-西西软件下载...

    Android O样式音乐状态栏是一款可以将你的手机的下拉通知中心的音乐样式变成Android O(安卓8.0)那样的样式的软件,看到安卓8.0下拉通知中的音乐同时就觉得非常漂亮,但是不是每一款手机都 ...

  8. android开机动画多长时间_Android系统开机动画的一生

    前言 在上篇文章[Android从上电到加载launcher,都发生了啥]中,简单介绍了Android系统从上电到加载launcher的流程,但比较粗略,特别是init之后,开机动画如何启动,又如何结 ...

  9. android 9 pie公司,Android 9.0正式推送 定名Android Pie

    [IT168 手机讯]北京时间8月7日早间,谷歌率先面向Pixel系列手机推送了Android P正式版(Essential也第一时间升级),代号"Pie",这也是Android的 ...

最新文章

  1. ActiveMQ学习笔记(8)——导入ActiveMQ源码到Eclipse
  2. sublime必备插件
  3. 菜鸟教程 之 shell 脚本学习笔记 (一)
  4. python实现vlookup功能_干货一:怎么在python里面实现vlookup
  5. reactjs redux chrome扩展插件
  6. 浅析 EF Core 5 中的 DbContextFactory
  7. Spring Cloud Alibaba —— Nacos Config 配置中心
  8. java代码鸟飞_180行原生js代码实现简易版飞行的小鸟游戏
  9. 12GB内存版华为P30、P30 Pro工信部入网:售价或将突破7000元
  10. android模拟器定位失败,Android-无法在模拟器上获取GPS位置
  11. u盘测试工具linux,MultiBootUSB简单测试工具 V7.5.0 升级版
  12. NOIp2014 提高组 Day1 T1 生活大爆炸版石头剪刀布
  13. linux怎么停止ping命令
  14. 软件测试流程图Bug管理流程图
  15. 获取文件夹下的文件,包含子文件夹并复制文件
  16. 关于RTMP推流直播摄像头最新问题解答
  17. IMT和北京大学微纳电子学研究院持续开展战略合作,三位优秀学生获2017年度MEMS专项奖学金
  18. 智能硬件蓝牙配网方案概要
  19. 修改dpr提高ECharts图表的清晰度
  20. 绍兴市第十六届计算机复赛试题,绍兴市第十七届少儿信息学竞赛复赛试题

热门文章

  1. objects365 类别
  2. 【cocoStdio系列】之UI控件中
  3. PyTorch + Ray Tune 调参
  4. 佳能Canon PIXMA MX720 打印机驱动
  5. 获取qq头像api接口
  6. 数据库系统原理自考小总结
  7. 为了忘却的纪念(0)
  8. Mac OS X下重启apache
  9. golang nats[5] cluster集群
  10. [转]Modernizr的介绍和使用