搜索
bottom↓
回复: 148

* 在ARM(S3C2440)上运行的 MP3软件解码 源程序 *

[复制链接]

出0入0汤圆

发表于 2009-12-5 21:03:17 | 显示全部楼层 |阅读模式
最近在S3C2440上玩了一下MP3软件解码,给各位分享:

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2009-12-5 21:06:36 | 显示全部楼层
解码源程序ourdev_511127.rar(文件大小:2.47M) (原文件名:mp3软件解码源码.rar)

出0入0汤圆

 楼主| 发表于 2009-12-5 21:08:24 | 显示全部楼层
一些参考文件:
点击此处下载 ourdev_511128.rar(文件大小:211K) (原文件名:MP3_IDV2.rar)
点击此处下载 ourdev_511129.rar(文件大小:211K) (原文件名:mp3格式.rar)
点击此处下载 ourdev_511130.rar(文件大小:122K) (原文件名:MP3文件格式.rar)

出0入0汤圆

发表于 2009-12-5 21:08:48 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2009-12-5 21:14:17 | 显示全部楼层
可执行目标代码:

适用于夏普8寸TFT(640x480)ourdev_511134.rar(文件大小:79K) (原文件名:S3C2440_MP3_Decode_LQ080V3DG01(640x480).rar)
适用于东华4.3寸TFT(480x272)ourdev_511135.rar(文件大小:78K) (原文件名:S3C2440_MP3_Decode_东华4.3寸TFT(480x272).rar)

可用以下几种方式运行:
1.烧录到NorFlash的0地址
2.烧录到NandFlash的0地址
3.下载到RAM 0x32000000地址直接运行.

出0入0汤圆

 楼主| 发表于 2009-12-5 21:16:42 | 显示全部楼层
运行效果图

(原文件名:test1.JPG)


(原文件名:test2.JPG)


(原文件名:test3.JPG)


(原文件名:test4.JPG)


(原文件名:test5.JPG)

出0入0汤圆

 楼主| 发表于 2009-12-5 21:29:08 | 显示全部楼层
程序操作方法:
1.先烧录或下载目标文件到2440的硬件平台
2.连接串口线和USB线到电脑,装入SD卡到2440,运行DNW工具软件(串口波特率为115200),按电脑键盘 '0',进入USB Massstorage功能,
  等待USB枚举成功后,在"我的电脑"里应该会出现一个U盘符号.
3.复制test.mp3到这个U盘的根目录下,复制完成后,在DNW中按电脑键盘‘ESC'键退出USB Massstorage.
4.按'3'进入MP3 Test功能,系统便开始播放刚刚复制到SD卡中的MP3文件.

出0入0汤圆

 楼主| 发表于 2009-12-5 21:35:49 | 显示全部楼层
开机后先会自动运行触摸屏校正程序,按光标操作便可.

出0入0汤圆

发表于 2009-12-5 21:38:26 | 显示全部楼层
顶,虽然不会玩DSP

出0入0汤圆

 楼主| 发表于 2009-12-5 21:41:12 | 显示全部楼层
是ARM,不是DSP

出0入0汤圆

发表于 2009-12-5 21:41:35 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2009-12-5 21:44:05 | 显示全部楼层
DAC芯片为:UDA1341

出0入0汤圆

发表于 2009-12-5 22:08:26 | 显示全部楼层
好东西,要记一下

出0入0汤圆

发表于 2009-12-6 09:05:57 | 显示全部楼层
这个不顶不行

出0入0汤圆

发表于 2009-12-6 09:59:43 | 显示全部楼层
赞一个

出0入0汤圆

发表于 2009-12-6 10:23:30 | 显示全部楼层
赞一个

出0入0汤圆

发表于 2009-12-6 14:07:00 | 显示全部楼层
1.顶一个,开来可以考虑在S3C2440上移植网络收音机了,呵呵!
2.大侠,可以将那个模拟U盘的代码开源吗?想学习一下;
3.另外:在S3C2440上device做的U盘,读写速度怎么样?你是SD模拟的还是使用NAND flash的?1M的文件,读写需要多少s;
4.记得前段时间在LPC2148上将SD卡模拟成U盘,速度不理想呀。

出0入0汤圆

 楼主| 发表于 2009-12-6 15:46:35 | 显示全部楼层
1.使用SD卡.
2.如果不考虑多任务环境,目前测试过的最高速度(没有使用DMA):读:约700KB/S,写:约:400KB/S;
但为了保证系统流畅,我将U盘读写速度都控制在200KB/S左右,

出0入0汤圆

发表于 2009-12-6 18:01:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-6 18:49:38 | 显示全部楼层
LZ好强大,实在是佩服,我也想做一个2440下的MP3软解码,水平太菜,刚刚把SD卡的程序做好,不知LZ是在什么平台下编译的,ADS还是Linux下?能否把你整个工程发一份参考一下。

出0入0汤圆

发表于 2009-12-6 18:52:26 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-12-6 19:27:10 | 显示全部楼层
太强了

出0入0汤圆

 楼主| 发表于 2009-12-6 20:26:52 | 显示全部楼层
RE 【19楼】
:
ADS下开发

出0入0汤圆

 楼主| 发表于 2009-12-8 21:16:24 | 显示全部楼层
下次再增加同时支持 NandFlash 和 SD 卡的的 USB Mass Storage

出0入0汤圆

发表于 2009-12-11 11:06:39 | 显示全部楼层
老大你这个东西好像缺少个include.h文件啊。另外就是你这个只是解析后保存到文件了,如果我想直接播放到dsp该如何处理?

出0入0汤圆

发表于 2009-12-11 11:08:11 | 显示全部楼层
这个不顶不行啊 , 我买了一个 Primer2 , 就是玩楼主的这个功能啊.

^_^!!

出0入0汤圆

发表于 2009-12-11 11:13:57 | 显示全部楼层
楼上的,这个能跑起了吗,是裸板上还是带系统?

出0入0汤圆

发表于 2009-12-11 11:17:12 | 显示全部楼层
的确要MARK

出0入618汤圆

发表于 2009-12-11 11:32:26 | 显示全部楼层
呵呵,浮点解码,ARM9也很吃力吧。

出0入0汤圆

 楼主| 发表于 2009-12-11 13:03:51 | 显示全部楼层
很吃力

出0入0汤圆

 楼主| 发表于 2009-12-11 13:04:20 | 显示全部楼层
要改成定点才实用

出0入0汤圆

发表于 2009-12-11 13:15:31 | 显示全部楼层
【26楼】 binggongs

你可以到 primer2 那个开源论坛看看. 已经有源码了.

出0入0汤圆

发表于 2009-12-11 13:17:35 | 显示全部楼层
不过我也想请教个问题, 既然这个代码是浮点的, 是不是也是可以像 定点 DSP 芯片 使用 Q24 或者 Q15 格式来处理浮点运算呢?

不知道时候可以把控制电机的理论搬到这个上面来.

出0入0汤圆

发表于 2009-12-11 13:23:35 | 显示全部楼层
楼主你这个程序,我跑不起来啊。看不到PCM_Output函数的处理。能否告知一下啊。非常感谢

出0入0汤圆

发表于 2009-12-11 13:25:19 | 显示全部楼层
我看用libmad的比较简单,这个比较复杂啊,不是很明白,希望能指点一下啊

出0入4汤圆

发表于 2009-12-11 13:26:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-11 13:35:57 | 显示全部楼层
mini2440方便移植吗?

出0入0汤圆

发表于 2009-12-11 13:36:59 | 显示全部楼层
刚看到lvhaian 安哥
留言,谢谢了。先去看看

出0入0汤圆

发表于 2009-12-11 13:43:23 | 显示全部楼层
晕,没找到网址,能否直接给一个啊lvhaian 安哥
多谢了

出0入0汤圆

 楼主| 发表于 2009-12-11 15:19:26 | 显示全部楼层
我就是在Mini2440运行的

出0入0汤圆

 楼主| 发表于 2009-12-11 15:22:39 | 显示全部楼层
【24楼】 binggongs

Include.h 这个文件要根据你的实际情况来编写,也就是一个整个系统的所有头文件的集合.

出0入0汤圆

 楼主| 发表于 2009-12-11 15:26:23 | 显示全部楼层
static        U8 *pcm_dat;
static        int pcm_size,pcm_cnt,pcm_pkt;

/*============================================================================*/
/*============================================================================*/

/*============================================================================*/

int        PCM_DrvInit(void)
{
        rCLKCON |= 0x20000;                                //enable IIS clock       
        IIS_PortSetting();       
        Init1341(PLAY);
        AdjVolume(0x8000);
       
//        pISR_DMA2  = (unsigned)DMA2_Done;
//        rINTMSK    &= ~(BIT_DMA2);
        //rINTMSK |= (BIT_DMA2);        //DI
                 //IIS Tx Start
    rIISCON |= 0x1;                 //IIS Interface start
//    rDMASKTRIG2  = (1<<2);         //DMA2 stop

    pcm_cnt=0;
    pcm_size=0;


}

/*============================================================================*/

int        PCM_SetVolume(U8 vol)
{

        AdjVolume(vol<<8);

}

/*============================================================================*/

int        PCM_DrvClose(void)
{

    rIISCON        &= ~(1<<0);            //IIS Interface stop

    rDMASKTRIG2  = (1<<2);         //DMA2 stop
        rIISFCON     = 0x0;            //For FIFO flush
        rINTMSK |= (BIT_DMA2);
       

}

/*============================================================================*/

int        PCM_SetSampleRate(int bits,U32 rate)
{
        int sel,bit;
        U32 Pclk,div;
        ////
               
        if(bits==16)
        {
                bit=1;
        }
        else
        {
                bit=0;
        }
        ////
       
        Pclk=CPU_GetPclkHZ()/1000000;
       
        switch(rate)
        {
                case        8000:
                                div=(float)Pclk/3.0720;
                                break;
                                ////
                case        11025:
                                div=(float)Pclk/4.2336;
                                break;
                                ////
                case        16000:
                                div=(float)Pclk/6.1440;
                                break;
                                ////
                case        22050:
                                div=(float)Pclk/8.4672;
                                break;
                                ////
                case        32000:
                                div=(float)Pclk/12.2880;
                                break;
                                ////
                case        44100:
                                div=(float)Pclk/16.9344;
                                break;
                                ////
                case        48000:
                                div=(float)Pclk/18.4320;
                                break;
                                ////
                case        64000:
                                div=(float)Pclk/24.5760;
                                break;
                                ////
                case        88200:
                                div=(float)Pclk/33.8688;
                                break;
                                ////
                case        96000:
                                div=(float)Pclk/36.8640;
                                break;
                                ////
                default:
                               
                                div=(float)Pclk/16.9344;
                                break;
       
        }
        ////
        DbgUart_Printf("div=%d\n",div);
        sel=0;
       
        switch(sel)
        {
                case 0 :
                //IIS Pre-scaler Setting
                  rIISPSR = (div<<5) + div;  
               
                //In case PCLK = 50 MHz, IIS Codec CLK = 50/(5+1) = 8.34MHz
               
                IIS_Codec_CLK = Pclk/(div+1);
                DbgUart_Printf("IIS Master CLK(PCLK) = %d MHz\n", Pclk);
                DbgUart_Printf("IIS Codec CLK = %d MHz\n", IIS_Codec_CLK);
                             
            rIISCON =  (1<<5)|(1<<2)|(1<<1);          
            //Bit[1]    IIS prescaler enable
                //Bit[2]    Rx idle
            //Bit[5]    Tx DMA enable
            rIISMOD = (0<<9)+(0<<8) + (2<<6) + (1<<5) + (0<<4) + (bit<<3) + (1<<2) + (1<<0);
            //Bit[1:0] Serial bit clock => 32fs,
            //Bit[2]    Master clock => 384fs,
            //Bit[3]    Serial data bit per channel => 16bit,
            //Bit[4]    Serial interface format => IIS compatible format
            //Bit[5]    Active level of left/right channel => Low for left channel
            //Bit[7:6] Tx/Rx mode select => Tx mode
            //Bit[8]    Master/Slave mode => Master mode
            //Bit[9]    Master clock => PCLK
            rIISFCON = (1<<15) + (1<<13);          
            //Bit[13]  Tx FIFO enable
                //Bit[15]  Tx FIFO access mode => DMA   
                       
                DbgUart_Printf("IISLRCK[0] = %d Hz\n", (int) IIS_Codec_CLK*1000000/384);

               
              break;
                ////
               
                case 1 :
                //IIS Pre-scaler Setting
                rIISPSR = (div<<5) + div;  
               
               
                IIS_Codec_CLK = FIN;
                DbgUart_Printf("IIS Master CLK(MPLLin) = %d MHz\n", FIN/1000000);
                DbgUart_Printf("IIS Codec CLK = %d MHz\n", IIS_Codec_CLK/1000000);
               
                rIISCON =  (1<<4) + (1<<2) + (1<<1);          
                //Bit[1]    IIS prescaler disable
                //Bit[2]    Rx idle
            //Bit[3]    Tx DMA enable
            rIISMOD = (1<<9)+(0<<8) + (2<<6) + (0<<5) + (0<<4) + (bit<<3) + (1<<2) + (1<<0);
                //Bit[1:0] Serial bit clock => 32fs,
            //Bit[2]    Master clock => 384fs,
            //Bit[3]    Serial data bit per channel => 16bit,
            //Bit[4]    Serial interface format => IIS compatible format
            //Bit[5]    Active level of left/right channel => Low for left channel
            //Bit[7:6] Tx/Rx mode select => Tx mode
            //Bit[8]    Master/Slave mode => Master mode
            //Bit[9]    Master clock => MPLLin
                rIISFCON = (1<<15) + (1<<13);
                //Bit[13]  Tx FIFO enable
                //Bit[15]  Tx FIFO access mode => DMA   

                DbgUart_Printf("IISLRCK[1] = %d Hz\n", (int) IIS_Codec_CLK*1000000/384);

               
                break;
                ////
        }
        ////
         

}

/*============================================================================*/

int        PCM_NeedData(void)
{
    if((rDSTAT2&(1<<20))==(1<<20))
    {        return 0;        //DMA正在传输数据
    }
    else
    {        return 1;        //DMA已经传输完成
    }
}


/*============================================================================*/

static        void        DMA2_Done(void)
{
        //int size;
       
                //DbgUart_Puts("^");
       
        /*
        DbgUart_Printf("pcm_size =%d\n",pcm_size);
        DbgUart_Printf("pcm_cnt  =%d\n",pcm_cnt);
        DbgUart_Printf("pcm_dats =%d\n",pcm_size-pcm_cnt);
        DbgUart_Printf("pcm_pkt  =%d\n",pcm_pkt);
        DbgUart_Printf("****\n\n");
        */
       
        if((pcm_cnt+pcm_pkt)<pcm_size)
        {
                rDMASKTRIG2 |= (1<<2);
               
               
                pcm_cnt+=pcm_pkt;
               
                if((pcm_cnt+0x3ffff)<pcm_size)
                {
                       
                        pcm_pkt=0x3ffff;
                       
                }
                else
                {
                       
                        pcm_pkt=pcm_size-pcm_cnt;
                }
               
               

               
                rDISRC2  = (U32)(pcm_dat)+pcm_cnt;
                   rDISRCC2 = (0<<1) + (0<<0);                   
   
            rDIDST2  = ((U32)IISFIFO);                       
                rDIDSTC2 = (0<<2) + (1<<1) + (1<<0);
                                       
                rDCON2   = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+((pcm_pkt>>1));
            rDMASKTRIG2 = (0<<2) + (1<<1) + (0<<0);            //No-stop, DMA2 channel On, and No-sw trigger

                //IIS Tx Start
            rIISCON |= 0x1;                 //IIS Interface start
           
       
        }
       
       
        ClearPending(BIT_DMA2); //Clear pending bit
       
}
/*============================================================================*/

int        PCM_SetSize(U32 size)
{
        pcm_size=size;
}

/*============================================================================*/

int        PCM_Output(void *pdata,U32 size)
{
       
        ////
       
//          DbgUart_Printf("pcm_output ->size =%d\n",size);
       
           rDMASKTRIG2  = (1<<2);         //DMA2 stop
           pISR_DMA2        =(U32)DMA2_Done;
           rINTMSK                &=~BIT_DMA2;
           ////
   
           pcm_dat                =pdata;
           pcm_size        =size;
           ////
   
    if(size>0x3ffff)
    {
            pcm_pkt=0x3ffff;
           
    }
    else
    {       
            pcm_pkt=size;
           
    }
    ///       
    if(pdata)
    {
            pcm_cnt         = 0;
                rDISRC2  = (U32)(pdata);
        }
       
    rDISRCC2 = (0<<1) + (0<<0);                   
   
    rDIDST2  = ((U32)IISFIFO);                       
        rDIDSTC2 = (0<<2) + (1<<1) + (1<<0);
                                       
        rDCON2   = (1<<31)+(0<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+((pcm_pkt>>1));
    rDMASKTRIG2 = (0<<2) + (1<<1) + (0<<0);            //No-stop, DMA2 channel On, and No-sw trigger

        //IIS Tx Start
    rIISCON |= 0x1;                 //IIS Interface start

         
   
        return 1;
   

}

/*============================================================================*/




补上PCM部分的驱动程序

出0入0汤圆

发表于 2009-12-11 15:37:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-11 15:39:31 | 显示全部楼层
好东西,楼主,谢谢。我试试把它移植到9200的板子上。9200带有I2S接口,看看效果如何

出0入618汤圆

发表于 2009-12-11 17:24:49 | 显示全部楼层
没浮点运算能力的CPU还是移植整数的libmad或者helix好,只需要20-30MIPS就搞定了。

出0入0汤圆

 楼主| 发表于 2009-12-11 21:03:16 | 显示全部楼层
在S3C2440上,用float类型做MP3解码,要占用150MIPS上

出0入0汤圆

发表于 2009-12-12 16:42:46 | 显示全部楼层
标记

出0入0汤圆

发表于 2009-12-16 17:02:51 | 显示全部楼层
MARK!

出0入0汤圆

发表于 2009-12-25 22:03:42 | 显示全部楼层
这个程序为什么老是出现Frame cannot be located ,帧不同步啊?
我的PCLK是50MHZ啊!16位441000啊!为什么不同步???
使用郁闷中。

出0入0汤圆

 楼主| 发表于 2009-12-26 01:41:17 | 显示全部楼层
你用什么系统?

出0入4汤圆

发表于 2009-12-26 08:14:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-26 09:40:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-27 22:53:33 | 显示全部楼层
我没用系统,超级裸奔啊,请问怎么回事啊??

出0入0汤圆

发表于 2009-12-30 09:19:14 | 显示全部楼层
打酱油,还在ARM7晃恩~~~

出0入0汤圆

发表于 2009-12-31 10:41:14 | 显示全部楼层
ding

出0入18汤圆

发表于 2010-1-5 19:45:34 | 显示全部楼层
支持楼主

出0入0汤圆

发表于 2010-1-5 23:14:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-11 18:26:38 | 显示全部楼层
记下

出0入0汤圆

发表于 2010-1-11 20:39:09 | 显示全部楼层
这个一定得顶,怎一个酷字了得。

安哥说酷的就会置酷。

出0入0汤圆

发表于 2010-2-4 10:24:39 | 显示全部楼层
回复【楼主位】liuweiele
-----------------------------------------------------------------------

谢谢楼主分享~~~~~~~~~~~~~~

出0入0汤圆

发表于 2010-2-4 13:35:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-4 14:42:56 | 显示全部楼层
哇哦  牛逼了

出0入0汤圆

 楼主| 发表于 2010-2-4 18:28:30 | 显示全部楼层
回复【32楼】lvhaian 安哥
不过我也想请教个问题, 既然这个代码是浮点的, 是不是也是可以像 定点 DSP 芯片 使用 Q24 或者 Q15 格式来处理浮点运算呢?
不知道时候可以把控制电机的理论搬到这个上面来.
-----------------------------------------------------------------------

对于没有FPU的CPU,似乎C编译器就是按这种方式来处理浮点数运算的.

出0入0汤圆

发表于 2010-2-4 18:56:01 | 显示全部楼层
必顶。。。贴贴精华

出0入0汤圆

发表于 2010-2-5 00:06:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-24 00:04:21 | 显示全部楼层
路过!!

出0入0汤圆

发表于 2010-2-24 02:17:38 | 显示全部楼层
发现有上一个下一个目录功能的 几乎没有

另外这个DAC 音质太差,听了VS1053之后就不想听简易USB声卡了

出0入0汤圆

发表于 2010-4-1 14:28:38 | 显示全部楼层
很强大哦!谢谢

出0入0汤圆

发表于 2010-4-2 14:06:36 | 显示全部楼层
hao好东东啊.........

出0入0汤圆

发表于 2010-4-15 16:39:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-18 14:46:42 | 显示全部楼层
好东西啊!!正是我正开始学习的部分!!!谢谢啦
顶上去啊

出0入0汤圆

发表于 2010-4-18 16:52:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-18 17:42:27 | 显示全部楼层
好东西!收藏了
1

出0入0汤圆

发表于 2010-4-18 17:44:13 | 显示全部楼层
MARK MP3软解码

出0入0汤圆

发表于 2010-4-24 15:54:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-4 10:29:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-5 11:30:02 | 显示全部楼层
回复【楼主位】liuweiele Liuwei
-----------------------------------------------------------------------

lz,你好,我用了一下你的代码,但是解码的时候,一直输出4和蜂鸣声,然后就data abort exception 了。我的pclk是100M,应该不会是这个问题吧。望解答,谢谢。

出0入0汤圆

发表于 2010-5-12 13:28:24 | 显示全部楼层
支持啊

出0入0汤圆

发表于 2010-5-12 13:44:54 | 显示全部楼层
菜鸟路过打酱油

高深~~~~

手里的2440一直在桌子上供着~~~~

出0入0汤圆

发表于 2010-5-12 13:45:40 | 显示全部楼层
好定西

出0入0汤圆

发表于 2010-5-12 19:01:40 | 显示全部楼层
mark  标记备用

出0入0汤圆

发表于 2010-5-12 19:44:37 | 显示全部楼层
记号~~

出0入0汤圆

发表于 2010-5-16 20:40:43 | 显示全部楼层

出0入0汤圆

发表于 2010-5-16 23:08:46 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-5-22 13:21:07 | 显示全部楼层
mark 备用,呵呵

出0入0汤圆

发表于 2010-7-6 16:32:03 | 显示全部楼层
tks,关注中,mark.

出0入0汤圆

发表于 2010-7-6 17:01:00 | 显示全部楼层
mask

出0入0汤圆

发表于 2010-7-6 17:55:52 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2010-7-7 16:35:25 | 显示全部楼层
标记下  !!!!!!!!!

出0入0汤圆

发表于 2010-7-7 20:47:17 | 显示全部楼层
今天偶然看到,留下!多谢!

出0入0汤圆

发表于 2010-7-10 09:06:38 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2010-7-21 11:24:22 | 显示全部楼层
先mark,后学习

出0入0汤圆

发表于 2010-9-3 17:11:41 | 显示全部楼层
谢谢   抓来学习一下

出0入0汤圆

发表于 2010-9-5 19:07:03 | 显示全部楼层
mark

出0入134汤圆

发表于 2010-9-5 21:20:32 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-10-12 12:15:36 | 显示全部楼层
mp3  mark

出0入0汤圆

发表于 2010-10-13 08:57:42 | 显示全部楼层

出0入0汤圆

发表于 2011-1-20 10:54:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-1 11:34:54 | 显示全部楼层
哈哈,谢谢,在MINI2440上刚能播放WAV文件,现在想播放MP3了。

出0入0汤圆

发表于 2011-3-1 11:39:03 | 显示全部楼层
頂一下樓主!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 16:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表