Pergunta

Eu quero fazer "música" ou melhor, apenas emitir um pequeno "bip" com este programa assembler:

tocam:

datei:
.ascii "/dev/dsp"

.globl play
play:
movl $5, %eax
movl $datei, %ebx
movl $1, %ecx
int $0x80
pushl %eax
movl %eax, %ebx
movl $4, %eax
movl 12(%esp), %ecx
movl 8(%esp), %edx
int $0x80

música.s:

.globl _start
#.lcomm buffer, 100
buffer:
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
.byte 0,255,0,255,0,255,0,255,0,255
_start:
pushl $buffer
pushl $100
loop:
call play
jmp loop
movl $1, %eax
movl $0, %ebx
int $128

Montei ambos com:

como music.s -o music.o como play.s -o play.o

e vinculado ambos com:

ld play.o música.o -o música

Mas então registrei que não tenho um arquivo "/dev/dsp". Então, existe algum semelhante a /dev/dsp no pulseaudio?

Foi útil?

Solução

O legado /dev/dsp interface não está habilitada por padrão.

Para emulá-lo, tente padsp (incluído com PulseAudio), ou osspd.

Como alternativa, envie os dados de amostra para stdout e canalize-os para aplay.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top