标签: mp3

如何在C#中播放mp3文件?

我正在尝试使用本指南在C#中播放MP3文件:http: //www.crowsprogramming.com/archives/58

我正在列出所有内容,但我仍然无法在我的C#程序中播放任何音乐.谁能告诉我我做错了什么?

 static void Main(string[] args)
    {
        WMPLib.WindowsMediaPlayer a = new WMPLib.WindowsMediaPlayer();
        a.URL = "song.mp3";
        a.controls.play();
    }
Run Code Online (Sandbox Code Playgroud)

音乐文件"Song"位于bin文件夹中.

c# mp3

13
推荐指数
3
解决办法
5万
查看次数

检测文件是否为MP3

我正在编写一个C++库,用于在不同格式/编解码器之间解码和编码音频.我有一个例程,可以在加载所需的编解码器库之前快速检测格式.

对于WAV文件,可以在文件开头简单地查找ASCII值"RIFF"和"WAVE".这同样适用于FLAC,我们可以简单地读取前4个字节,即"fLaC".

但是如何快速检测文件是否是MP3?我不能依赖文件扩展名.我也无法尝试解码第一个MP3帧,因为文件开头可能还有其他数据(例如:ID3,封面图片等).

mp3 header decoding detect flac

13
推荐指数
1
解决办法
2万
查看次数

检测具有不同比特率和/或不同ID3标签的重复MP3文件?

我怎样才能检测到(最好用Python)可以用不同比特率编码的重复MP3文件(但它们是同一首歌)和可能不正确的ID3标签?

我知道我可以对文件内容进行MD5校验和,但这对于不同的比特率不起作用.我不知道ID3标签是否对生成MD5校验和有影响.我应该重新编码具有不同比特率的MP3文件,然后我可以进行校验和吗?您有什么推荐的吗?

python mp3 id3 file duplicates

12
推荐指数
2
解决办法
1万
查看次数

是否有一种javascript方式来检查浏览器是否原生支持MP3?

如果浏览器可以播放MP3,那么我将使用音频标签播放文件.如果没有,我将不得不加载一个Flash播放器.

javascript html5 mp3

12
推荐指数
1
解决办法
8210
查看次数

如何从命令行在Windows上播放音频文件?

在Windows中,是否有一种简单的方法(即您可以在单个命令行上键入的内容)只播放几个.mp3文件然后自行退出?

例如,wmplayer似乎在完成后似乎没有退出,迫使用户抓住它并每次点击它关闭它.(wmplayer 11似乎也奇怪地重复一些文件,如果你传递一个列表.)(旧的(1990年代)版本的'mplayer'用于支持'/ close'命令行选项,但它似乎不起作用wmplayer 11.)

我更喜欢使用每个人都会在他们的机器上拥有的东西(比如wmplayer,quicktime ......)

windows audio mp3 command-line batch-file

12
推荐指数
3
解决办法
4万
查看次数

在没有播放的情况下解码Android上的编码音频数据(MP3等)

简短版本:将MP3(并且理想情况下是AAC/Ogg/WMA)中的数据编码成Java阵列或ByteBuffer的最佳方法是什么?

我正在整理一个程序,它将减慢和加速声音文件作为其功能之一.这适用于WAV文件,这是一个标题加上需要发送到扬声器的确切二进制数据,现在我需要为MP3实现它(理想情况下,这也支持AAC,Ogg和WMA,但是那些不太受欢迎的格式,这不是必需的).Android没有公开接口来解码MP3而不播放它,所以我需要创建该接口.

虽然我对其他人开放,但有三种选择可供选择:

1)编写我自己的解码器.我已经有一个功能帧检测器,我希望用于选项(3),现在应该只需要实现霍夫曼解码表.

2)使用JLayer或等效的Java库来处理解码.我不清楚这里的许可证后果是什么.

3)连接到libmedia库/ MediaPlayerService.这就是SoundPool所做的事情,而且该服务的使用量使我相信,虽然它正式不稳定,但实现并不是任何地方.这意味着编写JNI代码以连接到服务,但我发现这是一个很深的兔子洞.在表面上,我遇到了sp <>模板的问题.

audio mp3 android decoding

12
推荐指数
1
解决办法
6574
查看次数

PHP流媒体MP3

我的问题非常相似: 我可以用PHP提供MP3文件吗? 基本上我试图保护mp3文件免受直接下载,因此用户必须先通过php才能获得首次验证.这是我的代码:

header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($file));
header('X-Pad: avoid browser bug');
Header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
readfile($file);
Run Code Online (Sandbox Code Playgroud)

这是我的问题:文件只占一开始的一小部分(通过浏览器中的Quicktime)然后停止 - Quicktime似乎认为文件长度只与它设法下载的块一样长.当我重新加载时 - 它会播放一个稍微大一点的块 - 无论它设法下载到那一点.

这是我发送的标题中的问题吗?我该如何传输这样的文件?如果swf正在从该文件中读取,这是一个问题吗?

谢谢!


谢谢你们所有答案.虽然这些事情都没有解决问题,但很多都让我朝着正确的方向前进.非常感激.有关完整解决方案,请参阅下面的答案

php mp3 header filestream readfile

12
推荐指数
1
解决办法
3万
查看次数

使用HTML5网络音频API提取mp3文件的歌曲频率

我正在使用HTML5网络音频API来分析歌曲,并在平均声音频率低于某个值时创建标记.使用现有的AudioNode基础设施,我设法做到这一点,但只分析声音,并且仅在播放歌曲时.

然而,我想要的是提前分析歌曲,这样我就可以提取静音标记,并将它们变成CUE按钮,用户可以使用这些按钮在整首歌曲中移动.

显然,首先依靠播放整首歌来进行分析是很慢的,特别是如果这首歌是50分钟的播客.我尝试将playbackRate加速到10倍,但这没有用.

我认为解决方案在于跳过Web音频API,并分析原始ArrayBuffer,但是,我真的不知道从哪里开始.

建议?想法?

javascript audio html5 mp3 arraybuffer

12
推荐指数
1
解决办法
3071
查看次数

使用supercollider和python

我想做一些实时的声音处理,我听说过supercollider

它看起来很棒,但我想坚持使用python,因为"普通"编程是个问题.

有没有办法将python脚本作为模块加载到supercollider或oposite?

意味着将库导入我的python代码并使用supercollider功能?

我没有在网上找到太多关于它的信息,所以任何帮助都会很棒.

python audio mp3 sound-synthesis supercollider

12
推荐指数
1
解决办法
6232
查看次数

ios - 从mp3文件下载仅几秒钟

我需要下载一个mp3文件,但我只需要歌曲的前20秒(如果歌曲少于20秒,则需要整首歌曲).
这就是我下载整首歌的方式:

    func downloadSong(audioUrl: URL) {

    let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    let destinationUrl = documentsDirectoryURL.appendingPathComponent(audioUrl.lastPathComponent)

    URLSession.shared.downloadTask(with: audioUrl, completionHandler: { (location, response, error) -> Void in
        guard let location = location, error == nil else { return }
        do {

            try FileManager.default.moveItem(at: location, to: destinationUrl)
            // song available in destinationUrl

        } catch let error as NSError {

        }
    }).resume()
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在20秒后停止下载?我知道我可以下载整首歌然后剪下来,但我想要更高效,特别是如果这首歌很长.

mp3 download ios nsurlsession

12
推荐指数
1
解决办法
874
查看次数