17

iPhoneで生音解析をしたいです。そのため、webkitAudioContext アナライザーを使用します。

var ctx = new (window.AudioContext || window.webkitAudioContext);
var audioGoodmorning = new Audio('assets/sounds/greeting.m4a');
var audioSrc = ctx.createMediaElementSource(audioGoodmorning);
var analyser = ctx.createAnalyser();

analyser.fftSize = 32;
audioSrc.connect(analyser);
audioSrc.connect(ctx.destination);
var frequencyData = new Uint8Array(analyser.fftSize);

analyser.getByteFrequencyData(frequencyData);

これは、Mac 上の Chrome でうまく機能します。また、ホーム画面にウェブサイトを追加すると、Safari でも機能します。

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="CHAR">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">

サイトをホーム画面に追加しないと、Safari では機能しません。iOSのwkwebviewを組み込んだサイトを利用する場合は動作しません。それが私が達成したいことです。動作していない場合、frequencyData 配列はゼロでいっぱいです。

この種の問題を経験した人はいますか?

前もって感謝します

4

2 に答える 2