linux网页没有声音,linux 系统播放网页内容没声音

安装了 Ubuntu Linux系统,在使用 Firefox打开 Flash是,光有图像没有声音,但播放MP3、视频等均正常,通过网上查找相关方法,一直无效,后来找到下面方法有效,留此作为存档。

打开“系统”-“首选项”-“音效”,再点击“音效”选项卡,去掉“播放警告声音”选项,然后点“关闭”,再打开超级终端,输入:sudo killall pulseaudio,重新启动Firefox,就可以了。

我用的是ALSA,假设ALSA工作正常。

还有可以参考

1. 检查Flash插件的安装是否正确,根据我的经验Flashplugin-nonfree这个比较稳定,尽管是nonfree的......GNU的那个经常崩溃

2. 如果Flash可以正常浏览但是没有声音,则是Firefox的声音输出设置有问题,编辑/etc/Firefox/Firefoxrc文件,如果没有就创建一个好了

sudo vi /etc/Firefox/Firefoxrc

加入(或修改)

Firefox_DSP="aoss"

aoss要视你的dsp而定,如esddsp,artsdsp,aoss(aoss要求已经安装了alsa-oss),也可以试一下auto,反正不能是none,呵呵

关闭Firefox的所有进程,重启Firefox,ok?enjoy~

PS:适用于dapper ,其他版本或发行版Firefoxrc文件可能不同,如/etc/mozilla-Firefox/mozilla-Firefoxrc等等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux下使用Xvfb开启虚拟屏幕后,网页播放的音频数据是由浏览器直接输出到系统的音频设备上的,而不是存储在内存中或者文件中的。因此,如果想要获取网页播放的音频数据,需要通过捕获系统的音频输出进行分析。 在Linux下,可以使用PulseAudio来管理系统的音频设备,并通过PulseAudio提供的API来捕获音频输出。具体步骤如下: 1. 安装PulseAudio和相关库文件 ``` sudo apt-get install libpulse-dev libpulse-mainloop-glib0 pulseaudio-utils ``` 2. 在Xvfb启动脚本中指定PulseAudio的环境变量 ``` export PULSE_SERVER=unix:/run/user/1000/pulse/native ``` 其中,1000为当前用户的ID,可以使用`echo $UID`命令来获取。 3. 使用PulseAudio API来捕获音频输出 以下是一个简单的C语言程序示例,用于捕获PulseAudio中的音频数据并输出到文件中: ```c #include <stdio.h> #include <pulse/simple.h> #include <pulse/error.h> #define BUFSIZE 1024 int main(int argc, char *argv[]) { pa_simple *s = NULL; pa_sample_spec ss; uint8_t buf[BUFSIZE]; int ret; // 设置采样率、声道数、样本格式 ss.format = PA_SAMPLE_S16LE; ss.channels = 2; ss.rate = 44100; // 创建PulseAudio输入流 if (!(s = pa_simple_new(NULL, "capture", PA_STREAM_RECORD, NULL, "record", &ss, NULL, NULL, &ret))) { fprintf(stderr, "pa_simple_new() failed: %s\n", pa_strerror(ret)); return 1; } // 打开输出文件 FILE *fp = fopen("output.raw", "wb"); // 捕获音频数据并写入文件 while (1) { if (pa_simple_read(s, buf, sizeof(buf), &ret) < 0) { fprintf(stderr, "pa_simple_read() failed: %s\n", pa_strerror(ret)); break; } fwrite(buf, sizeof(uint8_t), ret, fp); } // 关闭输出文件和PulseAudio输入流 fclose(fp); if (s) pa_simple_free(s); return 0; } ``` 在运行该程序之前,需要先启动Xvfb和浏览器,并将浏览器音频输出设置为PulseAudio。可以使用如下命令来设置: ``` pacmd set-default-sink auto_null.monitor ``` 其中,auto_null.monitor为PulseAudio提供的一个虚拟音频设备,用于捕获系统音频输出。 运行程序后,程序会将捕获到的音频数据输出到output.raw文件中。可以使用其他工具对output.raw进行分析处理,例如使用ffmpeg将其转换为WAV格式: ``` ffmpeg -f s16le -ar 44100 -ac 2 -i output.raw output.wav ``` 上述方法是一种简单的捕获音频输出的方法,但也有一些限制。例如,捕获到的音频数据可能会包含一些系统声音(例如警告声等),并且可能无法准确定位到某个特定网页播放的音频数据。如果需要更精细的控制和分析,可能需要使用更高级的工具和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值