我想配置AVAudioSession,我可以用音频录制视频,也可以播放音乐应用程序(或任何其他产生声音的应用程序,通常是互联网收音机应用程序)的音乐
我像这样配置会话:
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, with: .mixWithOthers)
try? AVAudioSession.sharedInstance().setActive(true, with: .notifyOthersOnDeactivation)
Run Code Online (Sandbox Code Playgroud)
这就像我的录音应用程序运行时一样,我可以开始播放音乐应用程序中的音频并录制视频(也可以录制音频).到目前为止很好.
现在,我将录制应用程序放到后台.音乐应用程序继续播放.没事.但是,当我的应用程序从背景音乐应用程序回来时停止播放.我希望它继续下去.所以它在拍摄视频时基本上就像在相机应用程序中构建一样.有没有办法告诉系统我希望其他应用程序继续播放?
让我们有这个代码:
#include <iostream>
#include <simd/simd.h>
class X {
public:
X(int a) : x{a} {} // <-- only x is initialized, y is not
int x;
int y;
simd_double3 d;
};
int main(int argc, const char * argv[]) {
X x(1);
X* xx = new X(2);
std::cout<<x.x<<" "<<x.y<<" "<<x.d.x; // <-- y and x.d are used, but not initialized
std::cout<<xx->x<<" "<<xx->y<<"END\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想发出警告,指出 X 中的 y 未初始化。-Wall, -Wmissing-field-initializers 似乎什么都不做。它编译时没有警告。此示例代码生成以下输出: 1 0 6.95323e-310 因此,即使 y 初始化为 0(这不是,因为 clang 分析将其标记为未初始化),显然 simd_double3 …
曾几何时,苹果推出了Arm64e架构。那是 2 年前的 Xcode 10.0 时期。从 A12 CPU 开始。如今,Xcode 12.4 在为 iOS 平台选择标准架构时仍然只有 Arm64 是默认的。
Arm64e 发生了什么?为什么它不是默认的?
另外,当我手动添加它并存档模拟器时,我得到:
ld:警告:忽略文件/Applications/Xcode12.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/lib/darwin/libclang_rt.iossim.a,文件/中缺少所需的架构arm64e Applications/Xcode12.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/lib/darwin/libclang_rt.iossim.a(3片)
这是怎么回事?这是否意味着M1 macs不支持PAC(指针验证码)?我有点困惑,但我还不能在 M1 mac 上测试。