首页 > 编程语言 > 详细

基于Java的录音机(使用基于Rest API的页面操作,方便远程控制)

时间:2020-05-19 00:34:11      阅读:93      评论:0      收藏:0      [点我收藏+]

基于Java的录音机(Rest API的页面操作)

github源码:https://github.com/muphy1112/RuphyRecorder

新建Spring Boot项目

 技术分享图片

 

 

pop.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.2.5.RELEASE</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupId>me.muphy</groupId>

    <artifactId>recorder</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>recorder</name>

    <description>Demo project for Spring Boot</description>

 

    <properties>

        <java.version>1.8</java.version>

    </properties>

 

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

 

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

            <exclusions>

                <exclusion>

                    <groupId>org.junit.vintage</groupId>

                    <artifactId>junit-vintage-engine</artifactId>

                </exclusion>

            </exclusions>

        </dependency>

    </dependencies>

 

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

 

</project>

 

application.properties

server.port=8080

#录音

record.time.default=3600

record.path=E:/workspace/share/

 

index.html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>莫非录音机</title>

</head>

<body>

<div>

    <form action="/record/start" method="get">

        <div>请输入需要录音的时间(s):<input type="number" name="t" id="t" max="7200" min="0"><button type="submit">开始录音</button></div>

    </form>

</div>

</body>

</html>

 

RecordController.java

package me.muphy.recording;

 

import me.muphy.servicce.RecordService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

 

import javax.servlet.http.HttpServletRequest;

import javax.sound.sampled.*;

import java.io.*;

 

@RestController

@RequestMapping("/record")

public class RecordController {

 

    @Autowired

    private RecordService recordService;

 

    @Value("${download.url:http://(ip):(port)}")

    private String downloadUrl;

 

    @GetMapping("/start")

    public String startRecord(int t, HttpServletRequest request) {

        String msg = recordService.start(t);

        String ip = request.getServerName();

        int port = request.getServerPort();

        return "<span>" + msg + "</span><br><span><a href=\"" + downloadUrl.replace("(ip)", ip).replace("(port)", port + "") + "/record/stop\" >点击停止录音</a></span>";

    }

 

    @GetMapping("/stop")

    public String stopRecord(HttpServletRequest request) {

        String msg = recordService.stop();

        String ip = request.getServerName();

        int port = request.getServerPort();

        return "<span>" + msg + "</span>";

    }
 

}

 

RecordApplication.java

package me.muphy;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

 

@SpringBootApplication

public class RecordApplication {

 

    public static void main(String[] args) {

        SpringApplication.run(RecordApplication.class, args);

    }
 

}

 

启动项目

技术分享图片

技术分享图片

 

基于Java的录音机(使用基于Rest API的页面操作,方便远程控制)

原文:https://www.cnblogs.com/muphy/p/12914021.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!