Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript/PHP从mySQL检索和播放mp3文件_Mysql_Audio_Mp3 - Fatal编程技术网

使用Javascript/PHP从mySQL检索和播放mp3文件

使用Javascript/PHP从mySQL检索和播放mp3文件,mysql,audio,mp3,Mysql,Audio,Mp3,我正在建立一个网站,在mySQL中存储一些mp3音频文件。目前只有5个,所以效率根本不是问题 目前,我仍在尝试制作一个不需要其他文件格式的跨浏览器/平台解决方案 我有一个PHP脚本,它检索mp3二进制数据并将相应的头发送到浏览器。然后,可以通过如下方式指定音频元素的src(无论是audio、embed还是其他)来检索文件:src=“retrieve_audio.php?uniqueAudioID=[php variable identification file]”。 retrieve_audi

我正在建立一个网站,在mySQL中存储一些mp3音频文件。目前只有5个,所以效率根本不是问题

目前,我仍在尝试制作一个不需要其他文件格式的跨浏览器/平台解决方案

我有一个PHP脚本,它检索mp3二进制数据并将相应的头发送到浏览器。然后,可以通过如下方式指定音频元素的src(无论是audio、embed还是其他)来检索文件:src=“retrieve_audio.php?uniqueAudioID=[php variable identification file]”。 retrieve_audio php文件获取URL中提供的数据库ID并检索数据,并将其与标题一起发送到请求页面

这对于Safari中的音频和嵌入标签非常有效。适用于嵌入IE 6、7和8

出于某种原因,Safari将其称为流—可能是因为没有提供文件的大小—并且无论使用了什么标记(音频或嵌入),控件都不允许清除文件。 IE似乎理解检索到的文件的长度,尽管没有明确给出

然而,真正的问题是Firefox、Opera和Chrome。这些人似乎根本不理解这一点。FIrefox显示一个控件几秒钟,然后显示一个X,如中所示-我不能播放这个。。。我知道Firefox中的标签存在问题。嵌入也一样。Opera和Chrome要么什么也不显示,要么显示一个空白的白色方块

有什么建议吗

我从来没有想过我会在IE中使用Firefox

任何意见都将不胜感激


M

尝试将MP3上传到您的web服务器,然后将指向MP3的链接存储在Mysql数据库中,然后告诉php获取该链接并回显一个html嵌入标记,该链接为src。

我以前在Firefox上遇到过问题,它需要一个包含几乎所有内容的内容长度HTTP头


您可以尝试使用SQL
SELECT data,length(数据)FROM…
查找MP3文件的内容长度,然后使用
头(“content length:$lengthField”)设置HTTP头

谢谢-你提出了一个有效的想法-没有完全按照你说的做-确实提供了一个内容长度标题,但其中的信息与mySQL数据库中的文件和一个名为file_size的字段一起存储。因为在下次上传之前,数据库内容大小不会改变,这是有意义的。这解决了FIrefox和Opera的问题-Chrome仍然不知道如何处理音频-我可能会忽略这一点-除非有人知道如何修复。。。MPrefer是指将数据及其相关信息一起保存在数据库中。通过这种方式,我可以将mime类型、文件大小、标题和任何其他信息与文件一起保存在其记录中。没有什么不同步的,它允许我的用户上传新文件到网站,保留所有信息(通过上传代码收集,除了用户提供的标题)和文件数据。我解决了Firefox和Opera的问题,目前不太关心Chrome。但是-我想知道如何让SAfari承认内容不是流,而是有限的数据量。我现在提供内容长度标题-Safari还需要确认音频文件的长度吗?谢谢,M