Y.A.S.D.

XLVNS / Solaris (その後)

ええ, 私もそう思って以下のようにしてあったんですが,上手く鳴らない (ただノイズが鳴る) ので出してませんでした。 何か見落としてるんだと思うんですが > 私。

Sample rate の値は,audiocs(7D) から引っぱってきました。 11000 だと,Invalid argument で怒られるので...。 (AUD_CS4231_SAMPR11025)

--- audioinfo.c.orig	Thu May 11 02:32:21 2000
+++ audioinfo.c	Fri May 12 01:13:17 2000
@@ -44,9 +44,9 @@
 #include "audioinfo.h"
 
 /*
- * OpenBSD 用 (/dev/audio インターフェース仕様)
+ * OpenBSD/Solaris 用 (/dev/audio インターフェース仕様)
  */
-#if defined(__OpenBSD__)
+#if defined(__OpenBSD__) || ( defined(sun) && defined(SVR4) )
 #include &sys/audioio.h>
 
 struct _AUDIOInfo {
@@ -71,9 +71,14 @@
     }
 
     AUDIO_INITINFO(&info);
+#if defined(__OpenBSD__)
     info.play.sample_rate = 11000;
-    info.play.precision   = 16;
     info.play.encoding    = AUDIO_ENCODING_SLINEAR_LE;
+#elif defined(sun) && defined(SVR4)
+    info.play.sample_rate = 11025;
+    info.play.encoding    = AUDIO_ENCODING_LINEAR;
+#endif
+    info.play.precision   = 16;
     info.play.channels    = 2;
     if (ioctl(fd, AUDIO_SETINFO, &info) < 0) {
         perror(audiodevice);

ちなみに,環境はこれです。

$ uname -a
SunOS daidai 5.7 Generic_106541-08 sun4u sparc SUNW,Ultra-1
 

 

[Masubi]
Copyright © 1998-2009 Tomoaki TSUMURA. Powered by Apache Roller 4.0.1.
tomoaki@tsumura.info