91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

android音頻解碼的源代碼(適用于音樂播放器) 其他不多說了,文件不大,又不用積分,下了看看自己需不需要,也許正是你需要的。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“main.h“
#include?“msm_audio.h“
#include?“std_audio.h“

#define?MSM_DEVICE?“/dev/msm_pcm_out“

static?int?msm_start(msm_ctx?*ctx?int?channels?int?samplerate)?{

????struct?msm_audio_config?config;
????unsigned?char?*buf;
????int?i;

if(!ctx)?return?LIBLOSSLESS_ERR_NOCTX;

//??__android_log_print(ANDROID_LOG_INFO“liblossless““msm_start?chans=%d?rate=%d?afd=%d?track=%p“?
// channels?sampleratectx->afdctx->track);


????????ctx->afd?=?open(MSM_DEVICE?O_RDWR);
????????if(ctx->afd?
if(ioctl(ctx->afd?AUDIO_GET_CONFIG?&config))?return?LIBLOSSLESS_ERR_AU_GETCONF;

config.channel_count?=?channels;
config.sample_rate?=?samplerate;

if(ioctl(ctx->afd?AUDIO_SET_CONFIG?&config))?return?LIBLOSSLESS_ERR_AU_SETCONF;

ioctl(ctx->afd?AUDIO_FLUSH?0);

buf?=?(unsigned?char?*)?malloc(config.buffer_size);
if(!buf)?return?LIBLOSSLESS_ERR_AU_BUFF;
memset(buf0config.buffer_size);
for?(i?=?0;?i? if(write(ctx->afdbufconfig.buffer_size)?!=?config.buffer_size)?{
free(buf);
return?LIBLOSSLESS_ERR_AU_SETUP;
}

free(buf);
usleep(50);

if(ioctl(ctx->afd?AUDIO_START?0))?return?LIBLOSSLESS_ERR_AU_START;
ctx->conf_size?=?config.buffer_size;

return?0;
}

static?void?msm_stop(msm_ctx?*ctx)?{
????if(!ctx)?return;
????if(ctx->afd?>=?0)?{
ioctl(ctx->afd?AUDIO_STOP?0);
close(ctx->afd);
????????ctx->afd?=?-1;
????}
}

int?audio_start(msm_ctx?*ctx?int?channels?int?samplerate)?{

????if(!ctx)?return?LIBLOSSLESS_ERR_NOCTX;
????switch(ctx->mode)?{
????????case?MODE_DIRECT:
???????????return?msm_start(ctx?channels?samplerate);
????????case?MODE_LIBMEDIA:
???????????return?libmedia_start(ctx?channels?samplerate);
case?MODE_CALLBACK:
???????????return?libmediacb_start(ctx?channels?samplerate);
????????default:
???????????break;
????}
????return?0;
}

void?audio_stop(msm_ctx?*ctx)?{

????if(!ctx?||?ctx->state?==?MSM_STOPPED)?return;
????if(ctx->state?!=?MSM_PAUSED)?pthread_mutex_lock(&ctx->mutex);
????if(ctx->fd?>=?0)?{
close(ctx->fd);?ctx->fd?=?-1;
????}
????switch(ctx->mode)?{
????????case?MODE_DIRECT:
???????????msm_stop(ctx);?break;
????????case?MODE_LIBMEDIA:
???????????libmedia_stop(ctx);?break;
????????case?MODE_CALLBACK:
???????????libmediacb_stop(ctx);?break;
????????default:
???????????break;
????}
????ctx->state?=?MSM_STOPPED;
????pthread_mutex_unlock(&ctx->mutex);
}

void?audio_wait_done(msm_ctx?*ctx)?{
????if(ctx->mode?==?MODE_CALLBACK)?libmediacb_wait_done(ctx);
}

ssize_t?audio_write(msm_ctx?*ctx?const?void?*buf?size_t?count)?{

????if(!ctx)?return?LIBLOSSLESS_ERR_NOCTX;
????switch(ctx->mode)?{
????????case?MODE_DIRECT:
???????????return?write(ctx->afd?buf?count);
????????ca

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-11-21?22:02??jni\
?????目錄???????????0??2011-11-21?22:02??jni\alac\
?????文件???????33503??2011-11-19?04:52??jni\alac\alac_decoder.c
?????文件?????????309??2011-11-19?04:52??jni\alac\Android.mk
?????文件????????1610??2011-11-19?04:52??jni\alac\decomp.h
?????文件???????22833??2011-11-19?04:52??jni\alac\demux.c
?????文件???????12300??2011-11-19?04:52??jni\alac\m4a.c
?????文件????????4291??2011-11-19?04:52??jni\alac\m4a.h
?????文件????????8003??2011-11-19?04:52??jni\alac\main.c
?????文件????????3169??2011-11-19?04:52??jni\alac\README.rockbox
?????目錄???????????0??2011-11-21?22:02??jni\Android\
?????目錄???????????0??2011-11-21?22:02??jni\Android\include\
?????文件????????8373??2011-11-19?04:52??jni\Android\include\AudioHardware.h
?????目錄???????????0??2011-11-21?22:02??jni\Android\include\cutils\
?????文件????????1011??2011-11-19?04:52??jni\Android\include\cutils\adb_networking.h
?????文件????????1854??2011-11-19?04:52??jni\Android\include\cutils\array.h
?????文件????????1064??2011-11-19?04:52??jni\Android\include\cutils\ashmem.h
?????文件????????2472??2011-11-19?04:52??jni\Android\include\cutils\atomic.h
?????文件????????1705??2011-11-19?04:52??jni\Android\include\cutils\config_utils.h
?????文件????????1022??2011-11-19?04:52??jni\Android\include\cutils\cpu_info.h
?????文件?????????965??2011-11-19?04:52??jni\Android\include\cutils\dir_hash.h
?????文件????????1295??2011-11-19?04:52??jni\Android\include\cutils\event_tag_map.h
?????文件????????1941??2011-11-19?04:52??jni\Android\include\cutils\fdevent.h
?????文件????????3565??2011-11-19?04:52??jni\Android\include\cutils\hashmap.h
?????文件????????1326??2011-11-19?04:52??jni\Android\include\cutils\jstring.h
?????文件????????9249??2011-11-19?04:52??jni\Android\include\cutils\log.h
?????文件????????2085??2011-11-19?04:52??jni\Android\include\cutils\logd.h
?????文件????????1353??2011-11-19?04:52??jni\Android\include\cutils\logger.h
?????文件????????3757??2011-11-19?04:52??jni\Android\include\cutils\logprint.h
?????文件????????1249??2011-11-19?04:52??jni\Android\include\cutils\memory.h
?????文件????????1478??2011-11-19?04:52??jni\Android\include\cutils\misc.h
............此處省略212個文件信息

評論

共有 條評論