首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在音频播放器包导入后运行颤振

无法在音频播放器包导入后运行颤振
EN

Stack Overflow用户
提问于 2019-06-17 22:55:12
回答 1查看 1.5K关注 0票数 2

我从颤振包中进口了以下音效包。

音频播放器:^0.12.1

它抛出错误,说我需要安装一些东西。基于错误消息,我运行了以下命令。

酿造装可可 吊舱装置

安装已成功完成。

在此之后,当我试图运行我的应用程序时,它开始抛出错误。这个应用程序只不过是一个无状态小部件,带有一个空的MaterialApp()小部件。在我完成上面的安装之前,这是很好的工作。

我试着删除音频播放器的依赖项,但错误仍然存在。试图重新构建并重新启动我的IDE没有帮助。请告诉我出了什么问题。即使在移除依赖项之后,我也不明白为什么错误仍然存在。如果这有关系的话,我用的是Mac。请指点。谢谢。

错误日志:

代码语言:javascript
复制
Launching lib/main.dart on iPhone X in debug mode...
Running pod install...
Running Xcode build...
Xcode build done.                                            1.9s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    === BUILD TARGET path_provider OF PROJECT Pods WITH CONFIGURATION Debug ===
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:5: error: use of undeclared identifier 'AVAudioSessionCategory'; did you mean 'AVAudioSessionCategoryRecord'?
        AVAudioSessionCategory category;
        ^~~~~~~~~~~~~~~~~~~~~~
        AVAudioSessionCategoryRecord
    In module 'AVFoundation' imported from /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:4:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.2.sdk/System/Library/Frameworks/AVFoundation.framework/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:642:28: note: 'AVAudioSessionCategoryRecord' declared here
    AVF_EXPORT NSString *const AVAudioSessionCategoryRecord;
                               ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:27: error: expected ';' after expression
        AVAudioSessionCategory category;
                              ^
                              ;
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:28: error: use of undeclared identifier 'category'
        AVAudioSessionCategory category;
                               ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:234:9: error: use of undeclared identifier 'category'
            category = AVAudioSessionCategoryAmbient;
            ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:236:9: error: use of undeclared identifier 'category'
            category = AVAudioSessionCategoryPlayback;
            ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:239:34: error: use of undeclared identifier 'category'
                        setCategory: category
                                     ^
    /Users/myusername/.pub-cache/hosted/pub.dartlang.org/audioplayers-0.12.1/ios/Classes/AudioplayersPlugin.m:232:5: warning: expression result unused [-Wunused-value]
        AVAudioSessionCategory category;
        ^~~~~~~~~~~~~~~~~~~~~~
    1 warning and 6 errors generated.

Could not build the application for the simulator.
Error launching application on iPhone X.
EN

回答 1

Stack Overflow用户

发布于 2019-06-18 21:18:09

我有一个解决办法,尽管我承认这不是最好的解决办法。

我的猜测是,Xcode试图将其构建为通用应用程序而不是iOS应用程序,但我对Xcode的了解还不足以证实这一点(我主要是安卓开发人员在玩颤音)。AVAudioSessionCategory不适用于MacOS...only iOS。

在构建之后,我有与上面相同的错误。在AudioplayersPlugin.m,第232行中,您将看到以下内容:

代码语言:javascript
复制
AVAudioSessionCategory category;
if (respectSilence) {
    category = AVAudioSessionCategoryAmbient;
} else {
    category = AVAudioSessionCategoryPlayback;
}
BOOL success = [[AVAudioSession sharedInstance]
                setCategory: category
                error:&error];

代之以:

代码语言:javascript
复制
BOOL success;
if (respectSilence) {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryAmbient
               error:&error];
} else {
    success = [[AVAudioSession sharedInstance]
               setCategory: AVAudioSessionCategoryPlayback
               error:&error];
}

您的应用程序现在应该在iOS上运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56639785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档