[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Greetings



井上です。

これ、すごいですね。esdcatコマンドのソースを見ると、エッセンスは

    sock = esd_play_stream_fallback( format, rate, host, name );
    if ( sock <= 0 ) 
	return 1;

    while ( ( length = fread( buf, 1, ESD_BUF_SIZE, source ) ) > 0 )
    {
	/* fprintf( stderr, "read %d\n", length ); */
	if ( write( sock, buf, length ) <= 0 ) 
	    return 1;
    }
    close( sock );

だそうな。
ソケットを開いておいて、ふだん/dev/dspに投げ込んでいるものをそのソケット
に書き込んでやればいいみたいです。
それも、今度はプログラムが動いている間ずっと開きっぱなしでもいいし、他の
音を同時に出そうとしてもOK。
後は即時停止がどこまでできるかですね。
これを使う実相にすれば、離れたこたつの上のVAIOじゃなくて手元のFreeBSDに
つながったスピーカーで開発できます。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690