MikeWang000000/spek-X

aarch64 版本在 M1 机型上无法打开

Closed this issue · 9 comments

打开时报错。
image

安全性与隐私设置里面已经设置为任何来源

补充一下 macos-x86_64 版本反而是可以M1 机型上打开的

大概还是签名的问题。有没有尝试过以下操作?

xattr -r -d com.apple.quarantine /Applications/Spek.app

大概还是签名的问题。有没有尝试过以下操作?

xattr -r -d com.apple.quarantine /Applications/Spek.app

可以打开了,但是文件拖进去,不显示波形图。

image

感谢反馈。Intel 版本和 Apple Silicon 版本是使用完全相同的方法构建的,理论上不会有差异。

如果您在 Intel 版本上可以正常显示波形图,而 Apple Silicon 上不能,请尝试:

  • 右击“显示包内容”,删除 Contents 下的 _CodeSignature 目录,再次打开 app 尝试。

如果您在两个版本的 Spek-X 上均不能显示波形图,或者上述方法尝试无效,请尝试:

  • 右击“显示包内容”,双击运行 ContentsMacOS 目录下的 Spek。如果有报错日志,请告诉我,非常感谢。

两个版本都不能显示波形图,以下是报错日志。

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f96478bc980] stream 0, timescale not set
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f96478bc980] Could not find codec parameters for stream 1 (Video: mjpeg, none): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options

已确认,是 FFmpeg 相关问题。

如果没有猜错应该是 iTunes AAC 的音频,因为此类音频嵌入专辑封面后,FFmpeg 不能判断音频的长度,导致画不出频谱。

目前临时的解决方案有两种:

  • 将专辑的封面去掉;
  • 将 m4a 音频转为 wav 再查看频谱(理论上这种转换在频谱上不会发生改变)

其它类型的音频应该不受影响,可以正常画出频谱。

将尝试在下一个版本解决这个问题。

非常感谢,期待新版本。

更新:
这个问题根源在于音频文件某些帧内可能无音频采样(如m4a),造成原来的代码逻辑不能正确解码。
Spek 原作者解决了这个问题,我这里也做出了同步更新 e98b112,此问题解决。

新版本已发布:Spek-X v0.9.1