【问题标题】:Audio is not coming properly in Android 4.0.3音频在 Android 4.0.3 中无法正常播放
【发布时间】:2012-08-14 17:22:20
【问题描述】:

我正在开发一个基于 SIP 的应用程序来拨打和接听电话。最近我在不同的设备上测试了该应用程序。首先,我用三星 Galaxy 5(2.2) 和三星 Galaxy y(2.3.6) 进行了测试,调用时两侧音频都很好。

但是当我尝试使用 Galaxy y(2.3.6) 和 Sony XPERIA (4.0.3) 时,声音偏向一边。应用程序在 2.2 和 2.3.6 上运行良好,但在测试 2.3.6 和 4.0 时.3 ICS 存在音频问题。

任何人对此问题有想法或遇到过此类问题,请给我一些想法。

谢谢

编辑:

我在应用程序中使用编解码器,并且我已经为该编解码器创建了 .so 文件。但我只为 armeabi 处理器创建了 .so 文件。我认为在 Android 4.0.3 中有一个 armeabi-v7a。那么我需要为 armeabi-v7a CPU 创建 .so 文件吗?

【问题讨论】:

  • 哪个 XPeria?有几种不同的模型(Arc、S、P、U、...)。
  • 它的 XPeria Arc !但我认为特定设备没有问题。
  • 检查 XPERIA 设备上的 logcat 输出,如果还没有的话。
  • @lain 如何在 XPERIA 设备上查看 logcat?你是说日食吗?
  • 在哪里检查 logcat 输出是您的选择;)在带有应用程序的设备上,在 eclipse 中使用 adt-plugin 或在设备上使用 adb logcat。

标签: android audio sip


【解决方案1】:

armeabi 也可以在 armeabi-v7a 上运行。 无论如何,处理器类型取决于设备而不是操作系统。 即使在 Gingerbread 中,您也可以拥有 armeabi-v7...

您需要找到包/音频丢失的确切位置。 在 SIP 应用程序中,错误链相当长。 即使您没有音频(您需要 root 才能在您的设备上运行 Shark/tcpdump),您是否可以使用 Shark 验证两台设备上是否都接收到 RTP 数据包? 否则,尝试强制 RTp 代理并在代理上运行 wireshark。

如果数据包是双向传输的,请检查数据包丢失的位置以及它们到达编码器的位置。 将日志和检查放在音频传输管道中的任何位置,直到您知道它们去了哪里并向我们提供更多信息。

【讨论】:

  • 非常感谢您对处理器的澄清。我会尝试使用鲨鱼,如果我得到任何东西,请通知您。
【解决方案2】:

正如 sebweisgerber 所说,有几个可能的故障点,如果呼叫正确建立但听不到音频,则应该是音频捕获/播放、音频解码/编码或音频传输。如果我们考虑到这适用于 2.3.6 而不是 4.0.3,我会打赌音频捕获/播放或编码。

您是否正在与第三方库合作进行编码?因为,如果这个库试图访问系统的编码库,比如 csipsimple 项目,大多数用于解码的库名称已经从 Gingerbread 更改为 ICS,所以这可以解释“单向”行为。

希望这会有所帮助。

【讨论】:

  • 感谢您的回复,是的,我正在使用第三方库,即 MjSip,我使用了 Sipdroid 的源代码。
猜你喜欢
  • 2021-05-07
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2021-12-14
  • 2015-07-27
相关资源
最近更新 更多