Ich möchte nur den einfachsten WAV Player machen. Hier ist MyCode.Mein 10 Line Audio Player
#include <stdio.h>
int main(){
FILE* speaker = fopen("/dev/audio", "wb");
FILE* music = fopen("bugsbunny2.wav", "rb");
char data[16];
while(!feof(music)){
fread(data, sizeof(char), sizeof(data), music);
fwrite(data, sizeof(char), sizeof(data), speaker);
}
return 0;
}
Dies spielt den Sound, aber es ist zu laut. Schwer zu verstehen. Ich denke, ich vermisse auf Buffer/Chunk Größe Was ist die tatsächliche Chunk Größe? oder Wie kann ich die tatsächliche Chunk-Größe erhalten?
Größe von * was * Chunk? 4 Bytes ist die Größe eines Zeigers, d. H. Sizeof (Daten). Ich würde sagen, dass Sie nie Systeme mit einer Clustergröße unter 512 Bytes sehen werden, also erstellen Sie einen Puffer von mindestens dieser Größe. – TheBlastOne
Beachten Sie auch, dass Sie bis zu 3 Bytes der WAV verpassen ... denken Sie daran ... wenn Sie die Lesepuffergröße signifikant erhöhen und nicht zuerst für diesen Fehler korrigieren, werden Sie wesentlich mehr Bytes vermissen, und Bugs werden bunny klingt wie ein BUG :) – TheBlastOne
Der einfachste WAV-Player ist möglicherweise eine triviale API-Funktion "Spielen Sie die wav mit diesem Dateinamen", die Windows- oder Windows-Shell wahrscheinlich anbietet. – TheBlastOne