zoukankan      html  css  js  c++  java
  • JavaWeb向浏览器返回一个音频流

    浏览器直接播放音频文件,1是直接访问一个html的音频文件,,2 是返回一个Java音频流给浏览器解析.

    下面实现一个java的wav文件音频流,可以直接播放音频文件

     1 package org.lib.speech.test;
     2 import javax.servlet.http.HttpServlet;
     3 import javax.servlet.http.HttpServletRequest;
     4 import javax.servlet.http.HttpServletResponse;
     5 import java.io.*;
     6 
     7 public class Music extends HttpServlet {
     8 
     9     public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
    10         // 设置响应内容类型
    11 
    12          response.setHeader("Content-type", "text/html; charset=UTF-8");
    13          request.setCharacterEncoding("UTF-8");//解决乱码
    14          response.setContentType("text/html;charset=UTF-8");//解决乱码
    15          String sentences=request.getParameter("text");
    16         try {
    17             sayPlay(sentences,request,response);
    18         }catch (Exception e){
    19             System.out.printf(e.getMessage());
    20         }
    21 
    22     }
    23 
    24     public static void sayPlay (String sentences,HttpServletRequest request,HttpServletResponse response) throws Exception{
    25         //获取tomcat 路径
    26         String ROOT = System.getProperty("catalina.home")+"\webapps\JavaWeb\test.wav";
    27         //输出 wav IO流
    28         try{
    29             response.setHeader("Content-Type", "audio/mpeg");
    30             File file = new File(ROOT);
    31             int len_l = (int) file.length();
    32             byte[] buf = new byte[2048];
    33             FileInputStream fis = new FileInputStream(file);
    34             OutputStream out = response.getOutputStream();
    35             len_l = fis.read(buf);
    36             while (len_l != -1) {
    37                 out.write(buf, 0, len_l);
    38                 len_l = fis.read(buf);
    39             }
    40             out.flush();
    41             out.close();
    42             fis.close();
    43         }catch (Exception e){
    44             System.out.println(e);
    45         }
    46      
    47 
    48     }
  • 相关阅读:
    ContextLoaderListener和Spring MVC中的DispatcherServlet学习 随手记
    Linux目录详解
    9---PIP 管理工具的使用
    8. Python自定义模块humansize
    1. Hyper上的CentOS 6.5 网络配置
    Python基础学习8---list列表的操作
    Python基础学习6---存储器
    Python基础学习3---数据结构
    Python基础学习2---模块
    Python基础学习1---函数
  • 原文地址:https://www.cnblogs.com/wtcl/p/8151489.html
Copyright © 2011-2022 走看看