gpt4 book ai didi

ios - Everyplay 拿着我的麦克风 UNITY3D iOS

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:51 24 4
gpt4 key购买 nike

我有一个关于在 iOS 设备上实现 Everyplay Video Recording 的问题。

当我完成录制时出现问题。我转到 Everyplay 视频预览,您可以在其中编辑和分享视频。然后,当我点击返回或分享视频后返回我的游戏时,我无法在 Unity 中使用麦克风。

我认为 Everyplay 仍然拿着我的麦克风,但我不知道如何释放它。我在 Android 上有相同的实现,并且运行良好。我认为问题存在是因为在 iOS 上您可以选择使用麦克风或摄像头编辑视频。

有什么想法吗?

最佳答案

我无法在 iOS7 上重现您的问题。但是这个问题确实存在于 iOS6 上。我做了一个小 hack,似乎在我的设备上修复了它。

EveryplayMicHack.cs(将其复制到 Plugins/Everyplay/Scripts 文件夹):

using UnityEngine;
using System.Runtime.InteropServices;

public class EveryplayMicHack {
public static void EnableRecording() {
#if UNITY_IPHONE && !UNITY_EDITOR
SetPreferredSampleRate(AudioSettings.outputSampleRate);
#endif
}

#if UNITY_IPHONE && !UNITY_EDITOR
[DllImport ("__Internal")]
private static extern void SetPreferredSampleRate(int sampleRate);
#endif
}

EveryplayMicHack.h(将其复制到 Plugins/iOS 文件夹)

#import <AVFoundation/AVFoundation.h>

void SetPreferredSampleRate(int sampleRate);

EveryplayMicHack.m(将其复制到 Plugins/iOS 文件夹)

#import "EveryplayMicHack.h"

void SetPreferredSampleRate(int sampleRate) {
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setPreferredHardwareSampleRate:sampleRate error:nil];
}

在初始化你的麦克风之前,调用:EveryplayMicHack.EnableRecording();

// Something like this
EveryplayMicHack.EnableRecording();

myMicAudioSource.clip = null;
myMicAudioSource.clip = Microphone.Start("Built-in Microphone", ...

我希望它对你也有用! :)

关于ios - Everyplay 拿着我的麦克风 UNITY3D iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23133219/

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