Audio 实际上是在播放声音吗?

Audio 实际上是在播放声音吗?,audio,Audio,声音不工作的原因有很多(没有扬声器、扬声器关闭、音量设置为零、软件配置问题等) 如何从程序中发现声音是否正常工作并被听到?唯一可靠的方法就是询问用户: play sound; if (user_hears_sound_dialog) sound works; 编辑:请不要通过扼杀用户的耳朵、潜在地吹响他的扬声器并强迫他扼杀应用程序来进行未经宣布的声音测试。这不太好,看 当然,只有用户才能决定声音是否正常工作 在编程方面,我相信只有使用micro才能跟踪声音。在屏幕上显示两个按钮 在按钮下方

声音不工作的原因有很多(没有扬声器、扬声器关闭、音量设置为零、软件配置问题等)


如何从程序中发现声音是否正常工作并被听到?

唯一可靠的方法就是询问用户:

play sound;
if (user_hears_sound_dialog)
  sound works;

编辑:请不要通过扼杀用户的耳朵、潜在地吹响他的扬声器并强迫他扼杀应用程序来进行未经宣布的声音测试。这不太好,看

当然,只有用户才能决定声音是否正常工作


在编程方面,我相信只有使用micro才能跟踪声音。

在屏幕上显示两个按钮

在按钮下方添加一条注释:“请单击右侧按钮”

同时播放此声音消息:“请忽略屏幕上的注释文本并单击左按钮。”


等待按钮被点击。

同意!不管有人会想出什么奇怪的方法(例如,通过麦克风收听回声+延迟和失真测量,以确保其不是硬件环回,例如,从线路输出到线路输入),当发现用户是聋子时,最终都会失败。或者是在听他的iPod。用黑板上最讨厌的声音,用尽可能大的音量播放指甲。如果用户疯狂地杀死你的应用程序(或电脑),声音就会被听到:-DAlas,这个卑鄙的用户在线路输出和线路输入(或麦克风输入)端口之间插入了一根电缆。可能你不能:o)无论如何,你至少可以在询问用户之前尝试一下——如果出于某种原因,这很关键。问题是,正如derobert指出的,它可能会给出一个假阳性;如果发生这种情况,用户现在听不到声音,您认为它正在工作;所以你永远不会问用户。这是一个问题,如果声音是至关重要的。一个大问题。严重的是,如果麦克风没有拾取声音,可能没有麦克风,它已静音,等等。->询问用户;如果麦克风确实接收到声音,可能是声卡被回环(有些有混音器控制),可能是麦克风就在扬声器旁边,所以尽管扬声器音量太低,它仍能听到声音,可能是用户为他的iPod戴着耳机->询问用户。所以,除了代码复杂度,检查麦克风并不能给你带来任何好处。@derobert,我并不认为使用micro是一个可靠的解决方案。我写道“只有用户才能决定声音是否工作”。