公司最近让我调整项目(一款android智能机)的开机音量,研究了半天,总结一下方法:
开机音量是一个service播出的。这个service 应该在一个init.rc中:service playsound /system/bin/mplayer ...
于是想到音量的控制可能在这个bin文件中。于是找到bin文件的源码如下mplayer.c:
using namespace android;
#define DEFAULT_PATH_SOUND "/system/media/bootsound.mp3"
#define CTL_USE_FILE_EX_NAME (1 << 0)
static int binder_ipc(void *cookie)
{
ProcessState::self()->startThreadPool();
IPCThreadState::self()->joinThreadPool();
return 0;
}
static void usage(void)
{
int main(int argc, char *argv[])
{
int arg;
time_t stime;
int ctl = 0;
int seconds_max = 0;
int msecond = 0;
float volume = 100.0f;
int fd = 0;
// static struct timeval tmv;/* = {.tv_sec = 0, .tv_usec = 500*1000}; [luther.gliethttp] */
static char path[512];
while ((arg = getopt(argc, argv, "l:s:v:e")) != EOF) {
switch (arg) {