• ベストアンサー

C言語で音声ファイル再生

C言語で音声ファイルを再生することが出来るでしょうか?必要なヘッダーファイルと関数を教えてもらえるとうれしいです。

noname#218392
noname#218392

質問者が選んだベストアンサー

  • ベストアンサー
  • helpaitm
  • ベストアンサー率80% (4/5)
回答No.3

ANo1 です。 私は一応昔ここを参考にさせていただきました。 http://homepage3.nifty.com/rio_i/lab/oss/000prologue.htm

noname#218392
質問者

お礼

ありがとうございます。 このサイトを参考に、C言語で、音楽ファイルを再生出来るプログラムを作成させていただきます。

その他の回答 (2)

  • ohtawa
  • ベストアンサー率23% (9/38)
回答No.2

mciSendString(.........)のwaitモードでwavファイルが再生できます プリプロセッサは #include <windows.h> #include <shlwapi.h> #pragma comment (lib, "winmm.lib") #pragma comment (lib, "shlwapi.lib") ソースは ググルと多数でてきます 腕試しをしながらいろいろやってみるのもよいでしょう mp3やwmaをwavに変換するフリーソフトもnetにあるので これもググってみてください

  • helpaitm
  • ベストアンサー率80% (4/5)
回答No.1

標準関数ではできませんので、 Windowsでしたら DirectX等のDirectSound等を使います。 UNIX系でしたら /dev/dspに生データを送ることで音を出せます。

noname#218392
質問者

補足

UNIXの方を、詳しく書いているサイト等ありますか?よろしければ教えて下さい。

関連するQ&A

  • C#での音声再生について

    音声再生についての質問です。 ↓のページにある「メモリ内のWAVEデータを非同期再生する際の不具合について」を参考にして、PlaySound関数を利用してWAVEファイルを再生しようとしています。 http://dobon.net/vb/dotnet/programing/playembeddedwave.html ただし、この方法を使用して、一つ目の音声ファイルを再生中にもう一つの音声ファイルを再生しようとすると、最初に再生していた音声が中断されてしまいます。 複数の音声ファイルを同時に再生する(音が重なって再生されるようにする)には、どうすればよいのでしょうか。 よろしくお願いします。

  • C言語のヘッダファイル

    前回のC言語のコンパイラの質問で、たくさんのご回答ありがとうございました。 おかげさまでコンパイラはなんとかなりそうですが、ひょっとしたらまた同じ質問を載せるかもしれません(^^; 今回はC言語のヘッダファイルを自分で作ってみたいんですが、よくわかりません。 microsoft visual studioのvisual c++付属のINCLUDEフォルダにある、stdio.hを開いてみたのですが、基本のprintf()やscanf()なども、どう定義されているか わからず終いでした。本などでもいまいち詳しく書いていなく(そう思うのは僕だけ?)、困っています。c言語のヘッダファイルとc++のヘッダファイルは やっぱり別ものなんでしょうか?ご回答おまちしております。

  • 「INT86(・・・・・・);」 って何でしょう?(C言語)

    C言語のソースをみていると、その中に INT86(); という関数が出てきました。 しかし、ソースのどこを見ても その関数が定義されているところがありません。 ほかにIncludeされているファイルは Windows標準のヘッダーファイルだけでした。 そこで質問なのですが、 この「INT86()」というのは標準の関数なのでしょうか? ご回答お願いいたします。

  • VBで音声再生に関して

    ヘッダ情報のない16_khz,16_bitの音声ファイルをwavへの変換なしで直接取り出して 再生したいのですが、再生するAPIかなにかないでしょうか? メモリー上にバイト型配列でおきwavのヘッダ情報をつけ音声ファイルをくっつける という方法を考えついたのですが それだとPlaySound()APIではメモリー上から呼び出せず困っています。 wavファイルのヘッダ情報についてもわかりません。

  • C言語 ダイアログボックス

    C言語で、ダイアログボックスを表示した後、そのメッセージの内容を読み上げるようなプログラムを作っています。 そのためには.wavファイルを作ってPlaySoundですればいいのではと思ったのですが、自動で再生させるためにWM_INITDIALOG内で再生処理をさせるとダイアログが影も形も見当たらない状態で音声が再生されます。そこで、Showwindow関数を呼び出せばダイアログが表示されるのかなと思ってやってみても、ウィンドウの枠は出るのですがスタティックテキストが出ません。 あくまで、ボタンをおしたら音声を流すのではなく、ダイアログが表示されてから自動で音声を流す方法はないのでしょうか、あれば回答よろしくお願いします。サンプルソースなどあればありがたいです。

  • 音声ファイルの再生

    どなたか、教えて下さい Widows98です 携帯から、メールで、音声ファイルを貰ったのですが、再生できません。 なにか、特別のものが、必要なのでしょうか?

  • C言語について知りたい!!

    C言語を勉強しようと思ったのですが、 C言語って数学ができないとヤッパリ上達しないのでしないのでしょうか??それとも、別に数学はできなくてもC言語の知識をつける事は可能なのでしょうか?? C言語を勉強する上で必要になってくる数学って一体何でしょうか?? 関数とかでしょうか?? 必要になってくる数学の知識について教えてください! よろしくお願いしますm(_ _)m

  • 音声ファイル再生時のフリーズ

    今、地図や音声で案内板を作ろうとしているのですが、 タイトルにもあるとおり音声ファイルを再生するとフリーズしてしまいます。 音声の再生にはmciSendString、sndPlaySoundを使用したのですが、両方フリーズします。 具体的に言うと・・・ 実行して音声を再生すると案内板が応答しなくなります。ただその際音は流れます。TRACEを入れてdebugしてたところ、どうやらmciSendStringを組み込んだ関数内の処理は終えてました(その関数内から呼び出した関数の処理も終えてました)。 その関数の処理を終えると次の処理に移らずに画面もフリーズしてしまいます。 使用した音声ファイルの大きさは2kBです。 開発環境はVistaでVC++.net 2003を使っています。 なにか気になる点でもいいので宜しくお願いします。

  • C/C++のヘッダーファイルやライブラリー関数について

    C言語の勉強をはじめました。コードの最初に書く#include<stdio.h>などの ヘッダーファイルやライブラリ関数を見ることはできるのでしょうか? 初歩的なことですみませんがよろしくお願い致します。

  • C言語によるバイナリファイルの書き換えについて

    私一通りのC言語を習ったことがありますが、正直自分で目標を定め開発に取り組んだことは1度しかありません。そこで再度目標を定め取り組もうとしてますが、その内容は「バイナリファイルを引数1として、引数2(「アドレス,今の値,書換え後の値」のcsvテキスト)の内容をバイナリファイルに書き換えたく考えております。まずは使用するヘッダーや関数などあれば予めお聞きしたく思います。尚開発目的は、今後の勉強用が主な使用用途です。よろしくお願いします。

専門家に質問してみよう