本文目录导读:

- 浏览器端 JavaScript
- Python 脚本控制
- Windows 系统级控制(PowerShell)
- Linux 命令行控制
- 智能家居/API 控制
- 快捷键脚本(AutoHotkey)
- 远程控制方案
- 实用建议
我来介绍几种用脚本控制音乐播放的方法,根据不同的使用场景:
浏览器端 JavaScript
控制 HTML5 音频
// 获取音频元素
const audio = document.getElementById('myMusic');
// 播放控制
audio.play(); // 播放
audio.pause(); // 暂停
audio.currentTime = 30; // 跳到30秒处
audio.volume = 0.5; // 设置音量(0-1)
audio.loop = true; // 循环播放
// 播放状态检测
audio.addEventListener('play', () => console.log('开始播放'));
audio.addEventListener('pause', () => console.log('暂停'));
audio.addEventListener('ended', () => console.log('播放完成'));
Python 脚本控制
使用 pygame
import pygame
import time
pygame.mixer.init()
# 加载音乐
pygame.mixer.music.load('song.mp3')
# 播放
pygame.mixer.music.play()
# 控制
pygame.mixer.music.pause() # 暂停
pygame.mixer.music.unpause() # 继续
pygame.mixer.music.stop() # 停止
pygame.mixer.music.set_volume(0.7) # 音量
time.sleep(10) # 播放10秒
pygame.mixer.music.stop()
Windows 系统级控制(PowerShell)
# 添加 Windows Media Player 组件
$player = New-Object -ComObject WMPlayer.OCX
# 控制 Windows 系统音量
Add-Type -TypeDefinition @"
using System.Runtime.InteropServices;
[Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IAudioEndpointVolume {
[PreserveSig] int f();
int GetVolumeLevel();
int SetVolumeLevel(float level);
}
"@
# 设置系统音量为 50%
$obj = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]::new("BCDE0395-E52F-467C-8E3D-C4579291692E")))
Linux 命令行控制
# 使用 mpv mpv --start=30 song.mp3 # 从30秒开始播放 # 使用 mpg123 mpg123 --loop 1 song.mp3 # 循环播放 # 使用 cmus(终端音乐播放器) cmus # 快捷键控制 # c = 播放/暂停 # b = 下一首 # z = 上一首
智能家居/API 控制
控制 Spotify(通过 API)
import spotipy
from spotipy.oauth2 import SpotifyOAuth
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET",
redirect_uri="http://localhost:8888/callback",
scope="user-modify-playback-state"
))
# 控制播放
sp.start_playback() # 播放
sp.pause_playback() # 暂停
sp.next_track() # 下一首
sp.previous_track() # 上一首
sp.volume(50) # 音量50%
快捷键脚本(AutoHotkey)
; Windows 全局媒体控制
Media_Play_Pause:: ; 播放/暂停键
#W::WinMediaPlayPause ; Win+W 播放/暂停
; 音量控制
^Up::Send {Volume_Up}
^Down::Send {Volume_Down}
; 自定义热键
#Space::
Send {Media_Play_Pause}
Return
远程控制方案
WebSocket 控制
// 服务器端(Node.js)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', (ws) => {
ws.on('message', (message) => {
switch(message.toString()) {
case 'play':
player.play();
break;
case 'pause':
player.pause();
break;
case 'next':
player.next();
break;
}
});
});
实用建议
- 播放列表控制:可以创建 JSON 配置文件管理播放列表
- 定时播放:配合定时任务(cron/task scheduler)实现闹钟功能
- 音频可视化:用 Web Audio API 实现实时频谱分析
- 智能控制:结合语音识别或传感器触发播放
根据你的具体需求(本地/在线、单个/批量、自动化程度)选择合适的方法,需要更详细的某个方案说明吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播