小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Android 4.1.2開機(jī)音樂與動(dòng)畫的代碼

 灬木木的花灬 2015-02-02
本來在android4.0.4中使用libmedia的時(shí)候采用了如下方式:
[cpp]  
  #define SYSTEM_BOOTMUSIC_FILE "/system/media/sound.ogg"  
  int index;    
  MediaPlayer* mp = new MediaPlayer();    
  if((access(SYSTEM_BOOTMUSIC_FILE,F_OK))!=-1){    
if (mp->setDataSource(SYSTEM_BOOTMUSIC_FILE, NULL) == NO_ERROR) {    
          mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE);    
          mp->prepare();  
          mp->setLooping(true);    
   }    
   AudioSystem::getStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, &index);    
   if (index != 0) {    
       mp->seekTo(0);    
              mp->start();   
   }   
    }    
這段代碼在4.0.4是可以用的,但到了4.1.2的時(shí)候發(fā)現(xiàn)getStreamVolumeIndex的接口發(fā)生了變化
該函數(shù)位于frameworks/av/media/Libmedia/AudioSystem.cpp文件內(nèi)
函數(shù)原型為:
[cpp] 
status_t AudioSystem::getStreamVolumeIndex(audio_stream_type_t stream,  
                                           int *index,  
                                           audio_devices_t device)  
所以需要修改為如下代碼:(由于開機(jī)的時(shí)候聲音為最小,所以這里重新設(shè)置了下device的聲音大小)
[cpp]  
#define SYSTEM_BOOTMUSIC_FILE "/system/media/sound.ogg"  
//Neo Modify  
int index = 5;    
audio_devices_t device;  
MediaPlayer* mp = new MediaPlayer();    
if((access(SYSTEM_BOOTMUSIC_FILE,F_OK))!=-1){    
    //printf("access audio\n");  
    if (mp->setDataSource(SYSTEM_BOOTMUSIC_FILE, NULL) == NO_ERROR) {    
        printf("setDataSource audio\n");  
        mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE);    
        mp->prepare();  
        mp->setLooping(true);    
    }    
    device = AudioSystem::getDevicesForStream(AUDIO_STREAM_ENFORCED_AUDIBLE);  
    printf("device = %d\n", device);  
    bool temp = AudioSystem::setStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, index, device);   
    //printf("index = %d,temp = %d\n", index,temp);  
    temp = AudioSystem::getStreamVolumeIndex(AUDIO_STREAM_ENFORCED_AUDIBLE, &index, device);  
    //printf("index = %d,temp = %d\n", index,temp);  
    if (index != 0){  
        //printf("index!=0\n");  
        mp->seekTo(0);   
        mp->start();  
    }                       
}  
//End  
上面只是起到了播放音樂的作用,那么要同步,只需要將代碼中的
[cpp]  
mp->start();  
移至你需要播放音樂的位置即可。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多