gpt4 book ai didi

android-emulator - 无法从 Eclipse 启动的 Android SDK 模拟器中听到任何音频

转载 作者:行者123 更新时间:2023-12-04 08:29:40 27 4
gpt4 key购买 nike

我开始为 Android 开发,我正在使用带有 Android 插件和 Android SDK 的 Eclipse。

无论我做什么,我都无法让模拟器发出任何声音。

我尝试在虚拟设备设置中打开音频。

我还在运行配置中尝试了各种命令行,例如:

  • -audio oss ==== 这会收到一条错误消息,指出没有定义 oss 后端。
  • -useaudio === 作为无效选项出现
  • -audion -winaudio === 启动时没有错误但仍然没有声音

  • 如果我在笔记本电脑上打开 windows7 音频 Controller ,我会看到 android 虚拟机有自己的音量 slider ,但是当我移动或单击该音频 slider 时没有任何声音。 (其他音量 slider 产生正常的哔声。)

    我一直在寻找“Android 模拟器没有声音”几个小时,但没有运气。

    有任何想法吗?

    最佳答案

    问题不在于模拟器没有发出声音(事实证明它也无法在我的设备上运行),而是 SoundPool 类的一个无法解释的问题。

    我查看了 logcat 并找到了“sample 1 not ready”之类的引用资料。研究这个我终于找到了一个模糊的线程,其中提到它需要一些时间才能准备好使用声音池(因此所有声音都应该在使用之前加载好)。

    我修改了 playSound 方法来监控 soundPool.play(...) 方法调用的返回值。它返回正在运行的声音流的 id,如果失败则返回 0(即“样本 1 未准备好”)。

    我所做的是将它放入一个循环中,当返回值
    soundPool.play(...) 方法调用为 0,我让线程休眠 1
    毫秒,然后再试一次。有了这个方法,我现在总是
    得到一个声音。

    附带说明一下,我也一直在使用我的 SDK 设置为 Android 2.2 而不是 Android 2.3.1 运行教程,因为 Android 2.2 是安装在我的设备上的,即 Sprint LG optimus S LS670。

    我已经在 Android 2.2 和 Android 2.3.1 虚拟设备上运行了我修改后的代码。

    当我在较旧的 Android 2.2 VD 上运行代码时,通常需要大约 10 到 15 个循环(因此需要 10 到 15 毫秒的延迟)才能让 sounspool 准备好播放声音。

    当我在 Android 2.3.1 VD 上运行相同的代码时,延迟更糟,在播放之前需要大约 350 毫秒的延迟 - 是的,几乎慢了 35 倍!

    当我在运行 Android 2.2 的设备上运行相同的代码时,时间延迟与在模拟器上运行它大致相同。

    关于android-emulator - 无法从 Eclipse 启动的 Android SDK 模拟器中听到任何音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881743/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com