android添加开机音乐

博客分类: and http://wenku.baidu.com/view/d8b12044a8956bec0975e34a.html

forevery: 以下可在cm7中试验,但无效果。
1. 解压缩附件,拷贝至 /system/bin,修改权限:644
2. 将底下分隔线之间的内容加入/system/etc/init.local.rc:
-------------------- start ---------------------------
service bootsound /system/bin/bootsound
user media
group audio
disabled
oneshot

on property:init.svc.bootanim=running
start bootsound

on property:dev.bootcomplete=1
stop bootsound
---------------------- end -----------------------------

3. 选一个音乐文件改名为"android_audio.mp3" ,拷贝至 /system/media,修改权限:644
4. 将 "ro.config.play.bootsound=1" 加入 /system/build.prop
5. 重启手机体验


××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

源码方式(http://bbs.gfan.com/android-3694760-1-1.html):
Android开机动画叫源码位于frameworks/base/cmds/bootanimation下,这个程序会将/data/local/bootanimation.zip或/system/media/bootanimation.zip里面的png图片以动画的形式播放出来,这段代码不支持音乐播放的,添加几段代码就能达到开机显示动画的时候播放音乐的效果了。
添加如下代码:



1.添加所需要的音频库头文件。在frameworks/base/cmds/bootanimation/BootAnimation.h添加
#include   
#include  
复制代码

2.在frameworks/base/cmds/bootanimation/BootAnimation.h中添加public方法:
起名为bootMusic(),形式如下:


class BootAnimation : public Thread, public IBinder::DeathRecipient 

public: 
                BootAnimation(); 
    virtual     ~BootAnimation(); 
 
    sp session() const; 
 
    void bootMusic(); 
复制代码

3.在frameworks/base/cmds/bootanimation/BootAnimation.cpp中添加bootMusic的实现方法:


void BootAnimation::bootMusic() 

    int index; 
    MediaPlayer* mp = new MediaPlayer(); 
    if (mp->setDataSource("/system/etc/poweron.wav", NULL) == NO_ERROR) { 
        mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE); 
        mp->prepare(); 
    } 
    AudioSystem::getStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, &index); 
    if (index != 0) { 
        mp->seekTo(0); 
        mp->start(); 
    } 
 

复制代码

4.在frameworks/base/cmds/bootanimation/bootanimation_main.cpp中
在sp boot = new BootAnimation();与 IPCThreadState::self()->joinThreadPool();之间添加如下代码:


sp boot = new BootAnimation(); 
       BootAnimation *animation = new BootAnimation(); 
       animation->bootMusic(); 
       IPCThreadState::self()->joinThreadPool(); 
复制代码

5.修改frameworks/base/cmds/bootanimation/Android.mk

在LOCAL_SHARED_LIBRARIES字段中添加libmedia共享库,最后的形式如下:


LOCAL_SHARED_LIBRARIES := \ 
    libcutils \ 
    libutils \ 
    libbinder \ 
    libui \ 
    libskia \ 
    libEGL \ 
    libGLESv1_CM \ 
    libgui\ 
    libmedia 
复制代码

最后编译:mmm  frameworks/base/cmds/bootanimation/
将生成的bootanimation push进去,命令:adb push out/target/product/ventana/system/bin/bootanimation /system/bin/
同时将名字为poweron.wav的音频格式push到/system/etc/下 。
进入adb shell可以测试一下效果,在命令行上敲bootanimation命令即可。
#bootanimation

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 解决 android-apt plugin is incompatible with the Android(安
  3. Android初学者—listView用法
  4. :Android——ImageButton按下效果设计
  5. Android中在XML文件里@+id/和@id/的区别
  6. 使用Android-PullToRefresh实现下拉刷新功能
  7. Android在线程中创建一个POST请求
  8. android 实现拖动效果
  9. Android(安卓)AES,RSA方式数据加密解密代码记录

随机推荐

  1. Android(安卓)仿3g体育门户客户端赛事图
  2. EditText在输入法上显示搜索按钮
  3. 2011.09.22——— android ViewStub的简
  4. android常用代码片段
  5. android 不自动弹出虚拟键盘
  6. Android应用程序组件Content Provider的
  7. ubuntu 11.10 搭建 Android(安卓)开发环
  8. android framework
  9. Basic4android (Basic for Android) - Ra
  10. App 权限一点知识