小编nul*_*ife的帖子

无法在Firebase项目设置中添加团队ID

我正在尝试添加动态链接到我的应用程序,我正在按照本指南:

https://www.youtube.com/watch?v=sFPo296OQqk

在3:20左右,他解释了如何在项目设置中添加团队ID,但对我来说,这个选项并不存在.我检查了所有项目,但没有一个项目设置中有此选项.这是一个问题,因为动态链接在没有添加的情况下不起作用,因为我看到周围的人遇到与我类似的问题(通过添加他们忘记的团队ID解决了).

这有什么解决方案吗?

我正在开发一个iOS项目,我的位置是瑞典,如果这有点重要.

很感谢任何形式的帮助.

ios firebase swift firebase-dynamic-links

9
推荐指数
5
解决办法
7137
查看次数

尝试通过多路连接将音频从麦克风传输到另一部手机

我正试图通过Apples Multipeer Connectivity框架将音频从麦克风传输到另一部iPhone.要做到音频捕获和播放我使用AVAudioEngine(非常感谢艺术Fistman"的回答在这里).

我通过在输入上安装一个麦克风来接收来自麦克风的数据,从中我得到一个AVAudioPCMBuffer,然后我将其转换为一个UInt8数组,然后我将其流式传输到另一部手机.

但是当我将数组转换回AVAudioPCMBuffer时,我得到一个EXC_BAD_ACCESS异常,编译器指向我再次将字节数组转换为AVAudioPCMBuffer的方法.

以下是我正在处理,转换和流式传输输入的代码:

input.installTap(onBus: 0, bufferSize: 2048, format: input.inputFormat(forBus: 0), block: {
                (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in

                let audioBuffer = self.typetobinary(buffer)
                stream.write(audioBuffer, maxLength: audioBuffer.count)
            })
Run Code Online (Sandbox Code Playgroud)

我对将数据转换两种功能(摘自Martin.R的答案在这里):

func binarytotype <T> (_ value: [UInt8], _: T.Type) -> T {
    return value.withUnsafeBufferPointer {
        UnsafeRawPointer($0.baseAddress!).load(as: T.self)
    }

}

func typetobinary<T>(_ value: T) -> [UInt8] {
    var data = [UInt8](repeating: 0, count: MemoryLayout<T>.size)
    data.withUnsafeMutableBufferPointer {
        UnsafeMutableRawPointer($0.baseAddress!).storeBytes(of: value, as: T.self)
    }
    return data …
Run Code Online (Sandbox Code Playgroud)

avfoundation audio-streaming swift avaudioengine swift3

7
推荐指数
1
解决办法
2074
查看次数

是否有可能从React-Native中的图像中获取二进制数据?

我正在使用react-native-camera,我无法将图像作为二进制数据获取react-native.我需要这个能够将图像上传到我们的后端.我唯一能得到的就是uri的图像,然后可能将其发送FormData到服务器,但不建议这样做,因为这需要对我们的后端进行一些基础设施更改.

有没有人知道关于这个问题的解决方案或一些提示?

非常感谢任何想法或帮助.

react-native react-native-camera react-native-image

6
推荐指数
1
解决办法
4215
查看次数

无法播放使用 AVCaptureAudioDataOutputSampleDelegate 从语音录制的音频

我已经用谷歌搜索和研究了好几天,但我似乎无法让它工作,我在互联网上找不到任何解决方案。

我正在尝试使用麦克风捕捉我的声音,然后通过扬声器播放。

这是我的代码:

class ViewController: UIViewController, AVAudioRecorderDelegate, AVCaptureAudioDataOutputSampleBufferDelegate {

var recordingSession: AVAudioSession!
var audioRecorder: AVAudioRecorder!
var captureSession: AVCaptureSession!
var microphone: AVCaptureDevice!
var inputDevice: AVCaptureDeviceInput!
var outputDevice: AVCaptureAudioDataOutput!

override func viewDidLoad() {
    super.viewDidLoad()

    recordingSession = AVAudioSession.sharedInstance()

    do{
        try recordingSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
        try recordingSession.setMode(AVAudioSessionModeVoiceChat)
        try recordingSession.setPreferredSampleRate(44000.00)
        try recordingSession.setPreferredIOBufferDuration(0.2)
        try recordingSession.setActive(true)

        recordingSession.requestRecordPermission() { [unowned self] (allowed: Bool) -> Void in
            DispatchQueue.main.async {
                if allowed {

                    do{
                        self.microphone = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)
                        try self.inputDevice = AVCaptureDeviceInput.init(device: self.microphone)

                        self.outputDevice = AVCaptureAudioDataOutput()
                        self.outputDevice.setSampleBufferDelegate(self, queue: DispatchQueue.main)

                        self.captureSession = AVCaptureSession()
                        self.captureSession.addInput(self.inputDevice) …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios avaudiosession swift swift3

5
推荐指数
1
解决办法
1055
查看次数

AVAudioEngine 下采样问题

我在对从麦克风中提取的音频进行下采样时遇到问题。我正在使用 AVAudioEngine 通过以下代码从麦克风中获取样本:

assert(self.engine.inputNode != nil)
let input = self.engine.inputNode!

let audioFormat = AVAudioFormat(commonFormat: .pcmFormatFloat32, sampleRate: 8000, channels: 1, interleaved: false)    
let mixer = AVAudioMixerNode()
engine.attach(mixer)
engine.connect(input, to: mixer, format: input.inputFormat(forBus: 0))

do {
    try engine.start()

    mixer.installTap(onBus: 0, bufferSize: 1024, format: audioFormat, block: {
            (buffer: AVAudioPCMBuffer!, time: AVAudioTime!) -> Void in
        //some code here
    })

} catch let error {
    print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)

此代码在 iPhone 5s 上运行良好,因为麦克风输入为 8000Hz,并且缓冲区填充了来自麦克风的数据。

问题是我希望能够从 iPhone 6s(及更高版本)录制麦克风以 16000Hz 录制的内容。奇怪的是,如果我将 mixernode 与引擎 mainmixernode 连接起来(使用以下代码):

engine.connect(mixer, to: mainMixer, format: …
Run Code Online (Sandbox Code Playgroud)

audio core-audio swift avaudioengine swift3

5
推荐指数
1
解决办法
2821
查看次数