Asp.net <;音频>&书信电报;来源>;及<;嵌入>;使用动态ASPX源在IE中不工作的链接

Asp.net <;音频>&书信电报;来源>;及<;嵌入>;使用动态ASPX源在IE中不工作的链接,asp.net,internet-explorer,audio,embed,Asp.net,Internet Explorer,Audio,Embed,我试图在网页上播放mp3声音,声音作为mp3存储在SQL数据库中,因此通过服务方法以字节[]的形式返回 我的问题是,在Chrome中,这项功能很好,但在IE中却不行,只要我开始使用ASPXURL作为源,我就会停止播放声音。我也尝试了一些成功,但没有使用动态URL。我是遗漏了什么明显的东西还是这太难了。在调试过程中,我发现IE甚至没有尝试调用这个URL,因为它已经决定不喜欢这个URL。非常感谢您的帮助 方法 方法一。(在IE中不起作用) 首先,&标记在HTML 5中是新的,IE不支持它,因此它们在

我试图在网页上播放mp3声音,声音作为mp3存储在SQL数据库中,因此通过服务方法以字节[]的形式返回

我的问题是,在Chrome中,这项功能很好,但在IE中却不行,只要我开始使用ASPXURL作为源,我就会停止播放声音。我也尝试了一些成功,但没有使用动态URL。我是遗漏了什么明显的东西还是这太难了。在调试过程中,我发现IE甚至没有尝试调用这个URL,因为它已经决定不喜欢这个URL。非常感谢您的帮助

  • 方法
  • 方法一。(在IE中不起作用)

    首先,
    &
    标记在HTML 5中是新的,IE不支持它,因此它们在Internet Explorer中无法工作(它们在FireFox 4+、Chrome 3+、Safari 4+、Opera 9+和任何其他支持HTML 5的浏览器中都可以正常工作。)

    其次,您的代码对于您的方法是正确的,但是我在过去遇到过一些问题。我相信
    标记的src属性需要实际的声音文件,而不是脚本来执行

    现在浏览器正在尝试播放您的脚本,但它无法播放。由于声音数据存储在数据库中,因此在带有
    标记的页面上,您需要创建一个临时文件来写入数据,然后在
    标记中调用该临时文件

    我不是ASPX的专业人士,但我会尽力帮你调查


    干杯:)

    我被这个问题困扰了一会儿。这里,embed也不适用于IE上的.aspx.ashx文件,,但它适用于classic.asp。可能对扩展进行了某种验证。您可以将.asp文件添加到现代asp.net visual studio项目中

        <audio controls="controls" >
          <source src="PlayAudio.aspx?AudioId=AUDIO00253" />
          Sound Not Supported
        </audio>
    
        <audio controls="controls" >
          <source src="Cyclone.mp3" />
          Sound Not Supported
         </audio>
    
       <embed  src="PlayAudio.aspx?AudioId=AUDIO00253" autostart="true" ></embed>
    
       <embed  src="Cyclone.mp3" autostart="true"></embed>
    
      private void SendAudio( byte[] audio )
      {
        // Stream byte array to memory stream
        var memStream = new MemoryStream( audio );
    
        // Write memory stream to response
        Response.ContentType = "audio/mpeg";
        memStream.WriteTo( Response.OutputStream );
        memStream.Close();
      }