从内存流播放 mp3/wav 文件到网页
Posted
技术标签:
【中文标题】从内存流播放 mp3/wav 文件到网页【英文标题】:Play mp3/wav file from memorystream to webpage 【发布时间】:2012-07-06 13:30:13 【问题描述】:最近有人找我开发一个应用程序 (asp.net/c#),让用户可以收听存储在某些共享文件夹中的一些音频文件。
用户无权访问共享文件夹,文件应该被流式传输。此外,页面应提供播放/停止/暂停/前进/后退功能,以及经过时间/总时间信息。
所以我设置了一个访问所需文件的网络服务,并返回一个包含 mp3/wav 音频的 Byte[](实际上我必须在返回 Byte[] 之前将它们转换为所需的 mp3/wav 格式)。
问题是我不知道如何在网页中呈现它。
我需要的是一个带有一些控件的网页,它提供必要的功能和信息,从 Byte[] 加载。
我研究了网络并尝试了很多 sn-ps 和控件,但完全没有运气。
关于如何实现它的任何想法或方向?
提前致谢, 安东尼奥
【问题讨论】:
【参考方案1】:如果您希望您的用户使用相当新的浏览器版本,您可以使用html5's audio tag。您将src
设置为将设置为将byte[]
写入响应流的URL(例如,可能将byte[]
存储在Session
中,创建一个.ashx 处理程序页面来返回它,并且设置src="myHandler.ashx"
)。
【讨论】:
谢谢。我已经进行了一些初步测试,一切都表明它可以工作。我没有想到使用处理程序!最终用户将不得不升级浏览器版本,但是嘿,他们将拥有他们想要的:)【参考方案2】:一个好的方法是使用 silverlight 或 flash 播放器,甚至是 java 小程序。
【讨论】:
以上是关于从内存流播放 mp3/wav 文件到网页的主要内容,如果未能解决你的问题,请参考以下文章