Silverlight中的音频切割器

时间:2010-02-26 11:28:23

标签: asp.net silverlight

1。 我用silverlight创建了一个音频播放器。

在该播放器内,用户可以选择一部分歌曲保存为铃声。

但是我从...得到了持续时间,但我必须剪切流或音频流的部分内容并将其保存到服务器dick。

Plz建议我如何将选定的音频持续时间转换为流或字节数组。?

- 有关此问题的其他信息: 2。 我在silverlight中创建了一个铃声音频播放器。在该用户内可以选择可以剪切的部分并保存为音频文件。

我无法将流保存到磁盘..它发出以下错误:

错误1.尝试访问方法失败System IO FileInfo OpenWrite

Plz帮助

- 有关此问题的其他信息: 3。 MediaStreamSample& amp;的用途是什么?关于MediaElement的Silverlight中的MediaStreamSource类?

是否有助于剪切一部分音频文件以便从歌曲中创建铃声?

2 个答案:

答案 0 :(得分:1)

如果您需要保存到服务器,则需要将该数据提供给服务器。

只需保存(如已回答)将尝试保存到客户端的计算机。您需要做的是通过WCF服务或ASHX处理程序等将数据上传到服务器。我做过类似的事情 - 通过Stream将MP3文件从Silverlight客户端上传到WCF服务,效果很好。

下一步:您需要确保您使用的任何拆分过程都适应音频格式 - 即您可能无法拆分二进制文件。你用的是什么格式的mp3?

我之前使用过mp3plt之类的东西来分割mp3。您可以将源代码重新编译为与Silverlight兼容的库,假设它是用您可以使用的东西编写的,source here

或者您可以查看mp3规格,看看是否可以分割二进制文件,在这种情况下,将持续时间剪切(用户选择的那个),然后乘以比特率,( kb / s * seconds = kb)会在你可以剪切的文件byte []中给你一个位置。

答案 1 :(得分:0)

错误1.尝试访问方法失败系统IO FileInfo OpenWrit,你得到这个错误因为安全原因。在保存到磁盘之前,您应该将SaveFileDialog提交给用户,然后只将文件保存到磁盘。