int ZyxAudioOpen(PU8 audio_buf,int size,ZYX_MEDIA_TYPE format, ZyxAudioHandler cb) { if (audio_buf == NULL) return -1; ZyxTrace("ZyxAudioOpen 1\n"); mdi_audio_stop_all(); ZyxTrace("ZyxAudioOpen 2\n"); //mute bug??? DM_SetAudioVolume(zma.volume); MusicStartAudioMode(); ZyxTrace("ZyxAudioOpen 3\n"); ZyxTrace("zyx audio buf=%x,size=%d",audio_buf, size); if (pzma) { ZyxTrace("zyx stop audio first"); return -1; } if (NULL == pzma) { ZyxAudioHandlerCallback = cb; switch (format) { case ZYX_AUDIO_FORMAT_AAC: pzma = &zma; pzma->format = ZYX_AUDIO_FORMAT_AAC; break; case ZYX_AUDIO_FORMAT_AMR: pzma = &zma; pzma->format = ZYX_AUDIO_FORMAT_AMR; break; default: return -1; break; } ZyxTrace("zyx pzma = 0x%x", pzma); if (pzma) { pzma->current_time = 0; pzma->start_time = 0; pzma->stat = AAC_STATE_STOP; Media_SetBuffer((U16*)audio_buf, (U32)size/2); } } return 0; }
/***************************************************************************** * FUNCTION * mmi_fmsr_power_on * DESCRIPTION * Power on the FM radio and playing * PARAMETERS * void * RETURNS * void *****************************************************************************/ void mmi_fmsr_power_on(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ if (g_fmsr_cntx.rec.state != FMSR_STATE_IDLE) { /* Enter error screen */ return; } #ifdef __MMI_BACKGROUND_CALL__ if (srv_ucm_is_background_call()) { return; } #endif /* __MMI_BACKGROUND_CALL__ */ if (!mdi_check_device_ownership()) { /* Enter error screen */ return; } else { /* Stop all aduo and begin to record */ mdi_audio_stop_all(); mdi_audio_set_volume(AUD_VOLUME_FMR, g_fmsr_cntx.rec.volume); mdi_fmr_power_on_with_path( MDI_DEVICE_SPEAKER_BOTH /* MDI_DEVICE_SPEAKER2 */ , (mdi_ext_callback) mmi_fmsr_mdi_callback, NULL); mdi_fmr_set_freq(g_fmsr_cntx.rec.freqency); g_fmsr_cntx.rec.state = FMSR_STATE_READY; } }