小编Bry*_*han的帖子

Swift 3 录制音频并上传到 Firebase 存储并播放

我正在制作一个聊天室应用程序,到目前为止它能够发送消息、图像和视频。

\n

我使用非常相似的方法来发送视频并且它有效,但在发送音频时它不起作用。

\n

音频文件和音频网址已成功上传到 Firebase,但是当我尝试播放音频时,它显示此错误:操作无法\xe2\x80\x99t 完成。(操作系统状态错误 2003334207。)。

\n

该项目变得非常庞大,而且我使用 AVAudio 的经验很少,所以如果你们以前遇到过类似的问题,请教我如何解决它。谢谢!!!

\n

这是设置audioRecorder的代码,我在这里获取url并将其传递给其他函数以将音频文件放入Firebase存储中。

\n
func startRecording() {\n    let settings = [\n        AVFormatIDKey: Int(kAudioFormatMPEG4AAC),\n        AVSampleRateKey: 12000,\n        AVNumberOfChannelsKey: 1,\n        AVEncoderAudioQualityKey: AVAudioQuality.low.rawValue\n    ]\n    \n    do {\n        let audioFileUrl = getAudiFileURL()\n        audioRecorder = try AVAudioRecorder(url: audioFileUrl, settings: settings)\n        audioRecorder.delegate = self\n        audioRecorder.record()\n        blackView.isHidden = false\n    } catch {\n        finishRecording(success: false)\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这是我尝试将音频文件上传到 Firebase 存储的地方,它确实打印出了正确的 downloadURL。(URL 指向文件在 iOS 设备中的位置。)

\n
func handleAudioSendWith(url: String) {\n    guard let fileUrl = URL(string: url) else {\n        return\n …
Run Code Online (Sandbox Code Playgroud)

avaudioplayer ios firebase swift firebase-storage

10
推荐指数
1
解决办法
5265
查看次数

Android Studio Flamingo 中没有“运行”选项卡并且“运行”选项卡中没有日志

为什么“运行”选项卡中没有日志,即使我运行应用程序,“运行”选项卡也不会在 Android Studio Flamingo 中自动显示。

在我升级到 AS Flamingo 后,这种情况开始发生。

尝试从Views-> Tools Windows-> 运行打开运行选项卡,但它仍然只显示这个

04/27 11:56:26:在小米红米 Note 8 Pro 上启动“应用程序”。安装在 7 秒 686 毫秒内成功完成。$ adb shell am start -n ---- -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 打开小米红米 Note 8 Pro 的 logcat 面板

android-studio android-studio-3.0 android-studio-3.2

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

使用 C 将键盘按键向右移动 2 位数字的方法

我正在尝试将键盘的按键向右移动 2 位数字,例如,如果用户想要输入“a”,则必须按键盘上的“d”键,“p”到“]”。

这意味着如果用户输入是:“pm[ojku d, d]]'t/”,

那么输出将是:“我买了一个苹果”。

不包括键盘上该行中的大写键和最后一个键。

我这样做的方法是检查字符串的每个字符并将其 ASCII 与每种情况进行比较,它工作得很好。但这样做我觉得很愚蠢,想知道是否有任何算法或更聪明的方法来实现这一点。

while (fgets(inputString, 500, stdin)) {
    stringLength = strlen(inputString);

    for (int i = 0; i < stringLength; i++) {
        switch (inputString[i]) {
            case 100:
                outputString[i] = 'a';
                break;
            case 109:
                outputString[i] = 'b';
                break;
            case 98:
                outputString[i] = 'c';
            case 47:
                outputString[i] = ',';
                break;
            case 50:
                outputString[i] = '`';
                break;
            case 92:
                outputString[i] = '[';
                break;
            default:
                outputString[i] = inputString[i];
        }
    }
    printf("%s", outputString);
}
Run Code Online (Sandbox Code Playgroud)

c ascii

4
推荐指数
1
解决办法
112
查看次数