请问如何添加开机声音 请问如何添加开机声音 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本地写一个播放声音的应用程序, 放在init.rc中,和开机动画一样启动 这个应用程序,能用MediaPlayer这个类来写吗,如果不能,怎么写? 可以用,没问题。这是native的android程序,不是纯的linux的程序 我看了 framework下的东西mediaplayer这个类是java文件, 我想问下, 我是下java文件 还是写C++文件,我看了那个bootanimation是写的C++程序, 我想知道 写C++ 程序的话,怎么应用那个mediaplayer类,请指教。谢啦我知道用mediaplayer,只要下面几行话,就能播放声音了:MediaPlayer mp = new MediaPlayer();mp.setDataSource(String URL/FILE_PATH);mp.prepare();mp.start();但是我现在不知道怎么在C++文件中,应用mediaplayer这个java类 java端的MediaPlayer只是个皮, 实际上的东西都是通过jni调用下面的C/C++的mediaPlayer。你看下:android_media_MediaPlayer.cpp看一下里面几个函数即可,这几个函数就是java那边几个native成员函数的实现。创建MediaPlayer在:android_media_MediaPlayer_native_setup() 可以在 解析开机动画的BootAniamtion.cpp文件中的android:movie()方法中加入播放开机音乐的代码,比在JAVA代码中加开机音乐的代码时间控制上准确很多 我想问问,在那个文件加入播放音乐代码,那你播放的音乐文件是直接以二进制的形式直接定义在move()文件中嘛? 去bootanimation文件里修改源码,想怎么改怎么改,嘻嘻 我之前做过开机动画和音乐,在bootanimation里面去调mediaplayer播放音乐,但是一直没有成功,后来实在没有办法了,就porting了mp3play,然后在bootanimation里面fork一个进程去播放,同步不错。不过需要注意的是,bootanimation启动的时候声卡已经被android打开了,所以调用mp3play会失败,我的做法是在init.rc里把media这个service disable掉,在sufracefilnger(他启动了bootanimation)里面启动meida这个service。如果楼主播放的开机动画有点长的话,会导致播放到一半就进入android界面了,我是在init进程里面去等待bootanimation结束之后再往下跑,即调用waitpid。上述是我愚钝的做法,因为当时催的比较紧。如果楼主有新的解决办法,记得回复下哦 问问就是在你移植MP3play是在其bootanimation文件下加的文件,之后再在.pp文件中创建一个fork,进行调用吗?还有你那个init.rc是什么目录下的,我想问问,我也才做这个不是很懂,望赐教!!! 我现在在bootanimation里面添加了播放声音的代码,但是通过log看的话,执行都是正确的 ,就是没有声音输出,不知道为什么,希望大侠赐教啊 在CameraService.cpp下面有一个播放声音的代码,Copy一份就可以了,但是必须在BootAnimation的Android.mk文件里把mediaplay的库包含进来。 大侠,为什么我这段代码会卡在mp->prepare();下不去了呢?我看cameraservice里面也是调用的prepare,可以返回的,为什么我调用这个不返回呢?int main(int argc, char *argv[]){ MediaPlayer* mp = new MediaPlayer(); if (mp->setDataSource("/system/media/bootup_music.mp3", NULL) == NO_ERROR) { mp->setAudioStreamType(AudioSystem::ENFORCED_AUDIBLE); mp->prepare(); } int index; AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index); if (index != 0) { mp->seekTo(0); mp->start(); } return 0;} 我的blog 有解答: http://blog.csdn.net/k_linux_man/article/details/7282958 我试过了。我这边是先出画面的,隔1-2秒在出声音的。 但是,等系统起来后。在执行 bootanimation。就不会出现这样的情况。 关于View里的onDraw方法,锁屏、解锁后不执行的的问题 ksoap2 呼叫带参数的.Net Webservice问题 消毒柜微电脑控制器 [Android讨论] 如何在两个应用之间共用一个接口?请教一个自定义ClassLoader Android主菜单 Android SDK 报错了,怎么办 C自己写的ContentProvider,一直报一下错误,请高手指教! 高手帮我看下这段代码,怎么会有空指针? 开启热点会发系统广播吗? Android数据库写入出错 如何解析android base文件? 从c语言到学java,有几个特别的问题...虚心请教
MediaPlayer mp = new MediaPlayer();mp.setDataSource(String URL/FILE_PATH);mp.prepare();mp.start();但是我现在不知道怎么在C++文件中,应用mediaplayer这个java类
你看下:
android_media_MediaPlayer.cpp
看一下里面几个函数即可,这几个函数就是java那边几个native成员函数的实现。
创建MediaPlayer在:
android_media_MediaPlayer_native_setup()
上述是我愚钝的做法,因为当时催的比较紧。如果楼主有新的解决办法,记得回复下哦
{
MediaPlayer* mp = new MediaPlayer();
if (mp->setDataSource("/system/media/bootup_music.mp3", NULL) == NO_ERROR) {
mp->setAudioStreamType(AudioSystem::ENFORCED_AUDIBLE);
mp->prepare();
} int index;
AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index);
if (index != 0) {
mp->seekTo(0);
mp->start();
} return 0;
}
我试过了。我这边是先出画面的,隔1-2秒在出声音的。 但是,等系统起来后。在执行 bootanimation。就不会出现这样的情况。