Sound ライブラリ


概要 - Abstract

VCSSL Sound ライブラリ は、サウンドを扱う標準ライブラリです。

VCSSL におけるサウンド再生の基本的な流れは、以下の通りです。

まず、newSound 関数でファイルからサウンドデータを読み込みます。現在VCSSL で利用可能なサウンド形式としては、WAVE 形式( 拡張子 .wav )のみがサポートされています。

続いて、setSoundGain 関数で音量を設定した後、startSound 関数で再生を開始します。サウンドの再生は、VCSSLプログラムの実行とは非同期で行われます。つまり、サウンドの再生終了を待つことなく、VCSSL の処理も引き続き実行されていきます。これは複数のサウンドを再生する場合も同様で、サウンドは互いの終了を待つ事なく、非同期に再生されます。

サウンドの再生が終了すると、onSoundEnd イベントハンドラがコールされます。サウンドをリピート再生したい場合は、ここで setSoundFrame関数にフレーム値 0 を指定してサウンドを巻き戻し、再び startSound 関数で再生します。


目次 - Index

int newSound(string filePath)
サウンドファイルを読み込んでサウンドデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
void deleteSound(int soundID)
サウンドデータを破棄します。
void startSound(int soundID)
サウンドの再生を開始します。
void stopSound(int soundID)
サウンドの再生を一時停止します。
void setSoundGain(int soundID, float gain)
サウンドの音量ゲインを設定します。
void setSoundFrame(int soundID, int frame)
サウンドの再生位置をフレーム単位で設定します。
int getSoundFrame(int soundID)
サウンドの再生位置をフレーム単位で取得します。
int getSoundFrameLength(int soundID)
サウンドの長さをフレーム数単位で取得します。
void setSoundTime(int soundID, int milliSec)
サウンドの再生位置を時間単位(ミリ秒)で設定します。
int getSoundTime(int soundID)
サウンドの再生位置を時間単位(ミリ秒)で取得します。
int getSoundTimeLength(int soundID)
サウンドの長さを時間単位(ミリ秒)で取得します。
void onSoundStart( int soundID )
サウンドの再生が開始した際にコールされます。
void onSoundStop( int soundID )
サウンドの再生が停止した際にコールされます。
void onSoundEnd( int soundID )
サウンドの再生が終了した際にコールされます。

構造体 - Structs

- なし - None -


変数 - Variables

- なし - None -


関数 - Functions

文法的定義
- Signature
int newSound(string filePath)
関数名
- Name
newSound
役割
- Role
サウンドファイルを読み込んでサウンドデータを生成し、それに固有の識別番号である「グラフィックスデータID」を割り振って返します。
引数
- Arguments
(string型) filePath : 読み込むサウンドファイルの名称またはパス(現時点でWAV形式のみ対応)
戻り値
- Return
(int型) 生成したサウンドデータに割り振られたサウンドデータID(識別番号)
文法的定義
- Signature
void deleteSound(int soundID)
関数名
- Name
deleteSound
役割
- Role
サウンドデータを破棄します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(void型)
文法的定義
- Signature
void startSound(int soundID)
関数名
- Name
startSound
役割
- Role
サウンドの再生を開始します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(void型)
文法的定義
- Signature
void stopSound(int soundID)
関数名
- Name
stopSound
役割
- Role
サウンドの再生を一時停止します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(void型)
文法的定義
- Signature
void setSoundGain(int soundID, float gain)
関数名
- Name
setSoundGain
役割
- Role
サウンドの音量ゲインを設定します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
(float型) gain : 音量ゲイン。
戻り値
- Return
(void型)
文法的定義
- Signature
void setSoundFrame(int soundID, int frame)
関数名
- Name
setSoundFrame
役割
- Role
サウンドの再生位置をフレーム単位で設定します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
gain : 再生位置フレーム
戻り値
- Return
(void型)
文法的定義
- Signature
int getSoundFrame(int soundID)
関数名
- Name
getSoundFrame
役割
- Role
サウンドの再生位置をフレーム単位で取得します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(int型) 現在の再生位置フレーム
文法的定義
- Signature
int getSoundFrameLength(int soundID)
関数名
- Name
getSoundFrameLength
役割
- Role
サウンドの長さをフレーム数単位で取得します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(int型) 総フレーム数
文法的定義
- Signature
void setSoundTime(int soundID, int milliSec)
関数名
- Name
setSoundTime
役割
- Role
サウンドの再生位置を時間単位(ミリ秒)で設定します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
(int型) milliSec : 再生位置時間(ミリ秒)
戻り値
- Return
(void型)
文法的定義
- Signature
int getSoundTime(int soundID)
関数名
- Name
getSoundTime
役割
- Role
サウンドの再生位置を時間単位(ミリ秒)で取得します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(int型) 再生位置時間(ミリ秒)
文法的定義
- Signature
int getSoundTimeLength(int soundID)
関数名
- Name
getSoundTimeLength
役割
- Role
サウンドの長さを時間単位(ミリ秒)で取得します。
引数
- Arguments
(int型) soundID : 対象サウンドデータのID
戻り値
- Return
(int型) 総ミリ秒数

イベントハンドラ - Event Handler

文法的定義
- Signature
void onSoundStart( int soundID )
関数名
- Name
onSoundStart
役割
- Role
サウンドの再生が開始した際にコールされます。
引数
- Arguments
(int型) soundID : イベント発生元サウンドデータのID
戻り値
- Return
(void型)
文法的定義
- Signature
void onSoundStop( int soundID )
関数名
- Name
onSoundStop
役割
- Role
サウンドの再生が停止した際にコールされます。
引数
- Arguments
(int型) soundID : イベント発生元サウンドデータのID
戻り値
- Return
(void型)
文法的定義
- Signature
void onSoundEnd( int soundID )
関数名
- Name
onSoundEnd
役割
- Role
サウンドの再生が終了した際にコールされます。
引数
- Arguments
(int型) soundID : イベント発生元サウンドデータのID
戻り値
- Return
(void型)


スポンサーリンク



この階層の目次
RINEARN からのお知らせ
※ VCSSL は RINEARN が開発しています。

リニアングラフやVCSSLの最新版をリリース、目盛りの位置や内容を自由に指定可能に!
2024-11-24 - リニアングラフ3D/2Dを更新し、自由な位置に、自由な表記内容の目盛りを描けるようになりました! 併せて、Java言語やVCSSLでの、プログラム制御用APIも拡張しています。詳細をお知らせします。

Exevalator 2.2 をリリース、TypeScript 対応によりWebブラウザ上で動作可能に
2024-10-22 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。新たに TypeScript に対応し、Webブラウザ上での式計算にも使えるようになりました。詳細を解説します。

アシスタントAI作成の舞台裏(その2、作成編)
2024-10-12 - アシスタントAIの作成方法解説の後編です。実際にChatGPTの「GPTs」機能を用いて、アシスタントAIを作成する手順や、独自の知識をもたせたり、精度を出すためのノウハウなどを解説しています。

アシスタントAI作成の舞台裏(その1、基礎知識編)
2024-10-07 - アシスタントAI作成方法解説の前編です。今回はまず、アシスタントAIを作る前に抑えておきたい、基礎知識を延々と解説しています。そもそもLLM型AIとはどんな存在か? RAGとは何か? 等々です。

ソフトの利用をサポートしてくれるアシスタントAIを提供開始!
2024-09-20 - RINEARN製ソフトの使い方の質問応答や、一部作業のお手伝いをしてくれる、アシスタントAIを提供開始しました。ChatGPTアカウントさえあれば、誰でも無料で使用できます。使い方を解説します。

Exevalator 2.1 をリリース、新たに Visual Basic に対応
2024-07-28 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。今回から、新たに Visual Basic(VB.NET)でも使用できるようになりました。詳細を解説します。

関数電卓 RINPn(りんぷん)、Esc キーで計算式の一発クリアが可能に
2024-07-20 - 関数電 RINPn の Ver.1.0.2 をリリースしました。今回から、キーボードの「 Esc 」キーを押すと、入力中の計算式を一発でクリアできるようになりました。詳細を解説します。

Exevalator 2.0 をリリース、互換性に注意が必要なバグ修正が 1 件
2024-07-14 - オープンソースの式計算ライブラリ「Exevalator (エグゼバレータ)」の2.0をリリースしました。今回の更新では、互換性に注意を要する 1 件のバグ修正があります。詳細を解説します。

各ソフトウェアをアップデート、リニアングラフのコマンド拡張やVCSSLの英語対応など
2024-02-05 - 各ソフトの一斉アップデートの内容をお知らせします。今回は、リニアングラフのコマンド機能を大幅拡張したのがメインです。また、VCSSLのメッセージ類の英語対応も行いました。

Vnano の Ver.1.1 で実装した反復計算高速化の内側
2024-01-17 - 前回のお知らせ記事の続編です。スクリプトエンジン Vnano の Ver.1.1 において実施した高速化を、エンジン内部の実装面から掘り下げて解説します。

新着
[公式ガイドサンプル] 各種の図形や画像を描画する

「VCSSL 2DCG開発ガイド」内のサンプルコードです。図形や画像などを描画します。
2022-12-16
角度の「度」とラジアンとを相互変換し、図示もするツール

45度などの「度」の値と、ラジアンの値とを相互に変換できるツールです。対応する角度の図示もできます。
2022-11-22
[公式ガイドサンプル] 立体モデルを回転させるアニメーション

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます
2022-11-18
[公式ガイドサンプル] 立体モデルを回転させる

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。
2022-11-17
[公式ガイドサンプル] 四則演算の計算順序や、カッコを使った順序指定

「VCSSLスタートアップガイド」内のサンプルコードです。四則演算が計算される順序や、カッコを使って順序を指定する方法を例示します。
2022-10-31