2017年03月12日

開発日誌5(色々メモ)

①Web Audio APIのエラー
"SyntaxError: Failed to construct 'AudioContext':
number of hardware contexts reached maximum (6)."
Web Audio APIを触っていると、上記のエラーに遭遇した。
Audio Contextを作成できるのは6回までですよ~
と怒られた(-_-;)
Audio Contextはその都度作成するのではなく、最初に宣言したものを使い回さないといけないようです。

②ファイル名の指定
ファイル名を指定して音声の再生を行うので、文字列(ひらがな)を分割する必要があります。
splitメソッドを使用して、文字列を分割します。
var array = string.split("");
これで、1文字ずつに分割されて配列に格納される。
これだけだと、捨て仮名(ぁぃぅぇぉ等)を含むファイルや、長音記号(ー)に対応できないので、調べる必要があります。
if分を使って調べます。
var convertArray = [];
for(var i = 0; i < array.length; i++){
if(array[i+1]=="ぁ"|| array[i+1]=="ぃ"|| array[i+1]=="ぅ"|| array[i+1]=="ぇ"|| array[i+1]=="ぉ"|| array[i+1]=="ゃ"|| array[i+1]=="ゅ"|| array[i+1]=="ょ"){
convertArray.push(array[i]+array[i+1]);
i++;
}
else if (array[i+1]=="ー"){
convertArray.push(array[i]+array[i+1]);
i++;
}
elese{
convertArray.push(array[i]);
}
};
これで、"ちゃ"などのファイル名を指定できます。
③再生時間の設定
"っ"・"、"・"。"は無音、"ー"は再生時間を通常の2倍にする。
if文とsliceメソッドを使って、判定します。
string.slice(-1);
これで最後の文字列を取得できます。
var playTime = 0;
for(var i = 0; i < convertArray.length; i++){
if(convertArray[i].slice(-1)=="ー"){
playTime = 0.4;
}
elese if(convertArray[i]=="っ"){
playTime = 0.1;
}
elese{
playTime = 0.2;
}
};
  


Posted by 才田一 at 20:40Comments(0)開発日誌