PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [سوال] رفع مشکل کیفیت صوتی در پخش فایل wav



barat
04-02-2015, 12:00
سلام بر دوستان عزیز
من در برنامه نویسی پخش فایل WAVE با کیفت pcm-22.05khz-8bit-mono به مشکل کیفیت در پخش برخوردم و فایلم نویز داره .کد برنامه ام را میزارم.اگه کسی راهنماییم کنه ممنون میشم:

$regfile = "m32def.dat"
$crystal = 16000000
$include "CONFIG_AVR-DOS.bas"
$include "config_mmc.bas"

'*****************************************dim***** *******************************************
Dim I As Word
Dim J As Word
Dim Arr(512) As Byte
Dim A(256) As Byte
Dim Address As Long
Address = 1
'**************************************config***** *******************************************

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , _
Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5

'PWM
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 1

Config Portd.7 = Input
'*****************************************begin*** *******************************************
Enable Interrupts
Cls
Cursor Off

'************************************************* ********************************************

While Drivecheck() <> 0
Print "Card drive is not ready to use!"
Cls
Locate 1 , 1
Lcd "CARD KHARAB !"
Wait 1
Wend

Print "CARD SALEM !"
Cls
Locate 1 , 1
Lcd "CARD SALEM !"
Wait 1

'************************************************* ********************************************
While Driveinit() <> 0
Print "INSERT CARD !"
Cls
Locate 1 , 1
Lcd "INSERT CARD !"
Wait 1
Wend
Print "CARD OK"
Cls
Locate 1 , 1
Lcd "CARD OK"
Wait 1

'************************************************* ********************************************
Print "Init File System ..."
Cls
Locate 1 , 1
Lcd "Init File ..."
Wait 1
While Initfilesystem(1) <> 0
Print "ERROR FAT"
Cls
Locate 1 , 1
Lcd "ERROR FAT"
Wait 1
Wend
Print "ok"
Cls
Locate 1 , 1
Lcd "FAT OK "
Wait 1


'S = Dir( "1.wav")
'Portd.7 = 1

Do

If Pind.7 = 0 Then
Open "1.wav" For Binary As #1
Do
Get #1 , Arr(1) , Address , 512
For I = 1 To 512
Pwm1a = Arr(i)
For J = 1 To 15
Next
'Waitus 17
Next
Address = Address + 512
Loop Until Eof(#1) <> 0
Close #1
Cls
Locate 1 , 1
Lcd "END"
End If

Loop

End