gpt4 book ai didi

ios - AIR3 ios 应用程序麦克风录音/播放 - 录音开始丢失

转载 作者:行者123 更新时间:2023-11-29 11:20:10 24 4
gpt4 key购买 nike

我已经在 Flash Pro 5.5 中构建了一个小型测试应用程序,并覆盖了 AIR 3 sdk。只有 2 个按钮可用于录制和播放来自麦克风的音频。

当我在我的 iPhone 3g 上测试它时 - 我记录下自己说“1-2-3-4-5”。但是当我从头开始播放半秒左右时:“3-4-5-”。

当我在桌面上测试时一切正常

这是 iPhone 3g 的 cpu 能力的结果还是它是一个错误还是我的代码?

谢谢萨尔

如果有人可以尝试此代码并查看他/她是否重现此代码,我将不胜感激

这是应用程序:

我在舞台上只有 2 个名为“录制”和“播放器”的矩形电影剪辑所有代码都在这个文档类中:

package  {

import flash.display.MovieClip;
import flash.media.Microphone;
import flash.media.SoundMixer;
import flash.events.MouseEvent;
import flash.utils.ByteArray;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.events.SampleDataEvent;
import flash.media.AudioPlaybackMode;


public class RecTest extends MovieClip {
var mic:Microphone;
var nowRecording:Boolean = false;
var nowPlaying:Boolean = false;
var recordedBytes:ByteArray = new ByteArray();
var s:Sound = new Sound();
var sc:SoundChannel;

public function RecTest() {
mic = Microphone.getMicrophone(-1);
SoundMixer.useSpeakerphoneForVoice = true;
SoundMixer.audioPlaybackMode = AudioPlaybackMode.MEDIA;
mic.gain = 100;
mic.setSilenceLevel(0);
mic.rate = 44;

recorder.addEventListener(MouseEvent.CLICK, onRec);
player.addEventListener(MouseEvent.CLICK, onPlay);
}

function onRec(e:MouseEvent) {
if (nowRecording) {
trace("stopped");
mic.removeEventListener(SampleDataEvent.SAMPLE_DATA, getMicAudio);
nowRecording = false;
} else {
trace("recording");
recordedBytes.position = 0;
recordedBytes.length = 0;
mic.addEventListener(SampleDataEvent.SAMPLE_DATA, getMicAudio);
nowRecording = true;
}
}

function onPlay(e:MouseEvent) {
if (nowPlaying) {
trace("stopped");
sc.stop();
s.removeEventListener(SampleDataEvent.SAMPLE_DATA, playAudio);
nowPlaying = false;
} else {
trace("playing");
recordedBytes.position = 0;
s.addEventListener(SampleDataEvent.SAMPLE_DATA, playAudio);
sc = s.play();
sc.addEventListener(Event.SOUND_COMPLETE, onComplete,false,0,true);
nowPlaying = true;
}
}

function onComplete(e:Event) {
trace("stopped");
s.removeEventListener(SampleDataEvent.SAMPLE_DATA, playAudio);
nowPlaying = false;
}


function getMicAudio(e:SampleDataEvent) {
recordedBytes.writeBytes(e.data);
}

function playAudio(e:SampleDataEvent) {
for (var i:int = 0; i < 8092 && recordedBytes.bytesAvailable > 0; i++) {
e.data.writeBytes(recordedBytes);
e.data.writeBytes(recordedBytes);
}
}
}

}

最佳答案

我建议您使用滑动功能开始录制。作为解决方法,您可以在用户初始化滑动手势时开始录制。希望在手势完成时开始录制。

如果你尝试这个——让我们知道它是如何工作的

关于ios - AIR3 ios 应用程序麦克风录音/播放 - 录音开始丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7652804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com