精华内容
下载资源
问答
  • tts语音地址 千次阅读
    2020-06-07 18:46:52
    https://tts.baidu.com/text2audio?cuid=baike&lan=ZH&ctp=1&pdt=301&vol=9&rate=32&per=6&tex=试试这
    

    可以通过改变per的参数来改变音色
    把改变lan的值修改成EN可以设置成英文

    更多相关内容
  • 易语言TTS引擎语音朗读源码系统结构:回调函数,列举语音库,设置语音库,设置语速,设置声音大小,文本到语音, ======窗口程序集1 || ||------__启动窗口_创建完毕 || ||------回调函数 || || =====
  • 百度朗读引擎源码
  • TTS引擎语音朗读.rar

    2020-04-05 15:13:55
    TTS引擎语音朗读.rar TTS引擎语音朗读.rar TTS引擎语音朗读.rar TTS引擎语音朗读.rar TTS引擎语音朗读.rar TTS引擎语音朗读.rar
  • 完整版软件朗读源码.rar
  • 语音朗读源码2.0

    2014-12-02 21:56:07
    语音朗读2.0 in VB,新增语言选项! 源代码! VB语音朗读5.0(最新版):https://download.csdn.net/download/xhyeax/8544687
  • 主要介绍了JS实现获取当前URL和来源URL的方法,涉及javascript针对页面document属性操作的相关技巧,需要的朋友可以参考下
  • 简单的语音朗读代码

    2015-01-09 14:46:29
    一个很简单的语音朗读代码,输入要朗读的文本,点击按钮就可以进行语音朗读
  • MSTTS语音朗读引擎

    2009-11-12 13:09:11
    MSTTS语音朗读引擎,让支持MSTTS技术的程序发声
  • 适用于浏览器的文本语音语音阅读器扩展! | | | github统计信息: chrome网上商店的统计信息: firefox插件... “朗读”针对的是那些喜欢听内容而不是阅读的用户,阅读障碍者或其他学习障碍者,学习阅读的儿童,或者只
  • 中文语音朗读网站

    千次阅读 2019-06-05 12:51:17
    立刻朗读"> <script>/*JavaScript代码*/ function speeching(inputBox,speechBtn) { var inputBox = document.querySelector(inputBox), speechBtn = document.querySelector(speechBtn); var inputText =...

    预览地址:https://yubin.applinzi.com
    预览图片:
    在这里插入图片描述
    详细代码:

    <!DOCTYPE html>
    <html>
    <head>
        <title>myweb</title>
        <style>
            html{
                height: 100%;
               	background:url(https://cdn.nlark.com/yuque/0/2019/jpeg/124897/1558635287060-assets/web-upload/074f3bf7-9354-464a-985a-282167e3d212.jpeg);
    			background-size:100% 100%;
    			background-repeat:no-repeat;
            }
    
            div{
                width: 300px;         
                margin: 100px auto 0;
            }
    
            .input_box{
                width: 100%;
                height: 100px;
                outline: none; /*去掉轮廓线*/
                border: 10px solid #000;
                box-sizing: border-box;/*怪异盒模型*/
                resize: none;/*禁止拖拽*/
                border-radius: 20px;/*圆角*/
                padding: 20px;
                background-color: rgba(255,255,255,5);
                font-size: 20px;
            }
    
            .speech{
                height: 55px;
                width: 100%;
                font-size: 18px;
                outline: none;
                border: none;
                background-color:#000;
                color: #fff; 
                cursor: pointer;/*鼠标样式,小手*/
                border-radius: 20px;
            }
            .speech:hover{/*hover伪类选择器 当鼠标滑过speech改变背景颜色*/
                background-color: #ea4c89
            }
    
        </style>
    </head>
    <body >
    
        <div>
            <textarea class="input_box" placeholder="请输入文字......"></textarea>
            <input class="speech" type="submit" value="立刻朗读">
        </div>
    
        <script>/*JavaScript代码*/
            function speeching(inputBox,speechBtn) {
                var inputBox = document.querySelector(inputBox),
                    speechBtn = document.querySelector(speechBtn);
    
                var inputText = '';
    
                speechBtn.onclick = function(){
                    var message = null;/*默认文本框为空*/
                    var text = inputBox.value;/*接收按钮得到的值*/
                    message = new SpeechSynthesisUtterance(text);/*传给message*/
                    window.speechSynthesis.speak(message);/*利用电脑本身应用读取输入内容*/
                }
            }
        </script>
    
        <script>
            speeching('.input_box','.speech');
        </script>
    
    </body>
    </html>
    
    
    展开全文
  • # readtxt_by_SAPI(i) #可以选择其他朗读引擎 # readtxt_by_pyttsx3(i) import paqu_sina readnews ( paqu_sina . newtitlelist ( ) ) ) 爬取新浪国际新闻版块最新消息 将该脚本命名为paqu_sina.py ...
    1. 调用讯飞API将文字转为语音文件
    2. 爬取新浪国际新闻版块最新消息保存到xlsx
    3. 讯飞API 文字有限制
    4. python程序打包成exe
    5. 语音即时播放

    定制新闻朗读助手(调用科大讯飞API)

    调用讯飞API将文字转为语音文件

    #-*- coding: utf-8 -*-
    import pyaudio
    import wave
    import os
    
        
    def play_xunfei(wavfilename):
    
        CHUNK = 1024
        # 从目录中读取语音
    #    wf = wave.open('mic4.wav', 'rb')
        wf = wave.open(wavfilename, 'rb')
        # read data
        data = wf.readframes(CHUNK)
        # 创建播放器
        p = pyaudio.PyAudio()
        # 获得语音文件的各个参数
        FORMAT = p.get_format_from_width(wf.getsampwidth())
        CHANNELS = wf.getnchannels()
        RATE = wf.getframerate()
    #    print('FORMAT: {} \nCHANNELS: {} \nRATE: {}'.format(FORMAT, CHANNELS, RATE))
        # 打开音频流, output=True表示音频输出
        stream = p.open(format=FORMAT,
                        channels=CHANNELS,
                        rate=RATE,
                        frames_per_buffer=CHUNK,
                        output=True)
        # play stream (3) 按照1024的块读取音频数据到音频流,并播放
        while len(data) > 0:
            stream.write(data)
            data = wf.readframes(CHUNK)
            
            
            
    import requests
    import time
    import hashlib
    import base64
    #  合成webapi接口地址
    URL = "http://api.xfyun.cn/v1/service/v1/tts"
    #  音频编码(raw合成的音频格式pcm、wav,lame合成的音频格式MP3)
    AUE = "raw"
    #  应用APPID(必须为webapi类型应用,并开通语音合成服务,参考帖子如何创建一个webapi应用:http://bbs.xfyun.cn/forum.php?mod=viewthread&tid=36481
    APPID = "5ce265c9"
    #  接口密钥(webapi类型应用开通合成服务后,控制台--我的应用---语音合成---相应服务的apikey)
    API_KEY = "dedd145d73ca0e1fd5e70a77f38365a1"
    
    # 组装http请求头
    def getHeader():
        curTime = str(int(time.time()))#1558401768
        # ttp=ssml
        param = "{\"aue\":\"" + AUE + "\",\"auf\":\"audio/L16;rate=16000\",\"voice_name\":\"xiaoyan\",\"engine_type\":\"intp65\"}"
    #    print("param:{}".format(param))
    
        paramBase64 = str(base64.b64encode(param.encode('utf-8')), 'utf-8')
    #    print("x_param:{}".format(paramBase64))
    
        m2 = hashlib.md5()
        m2.update((API_KEY + curTime + paramBase64).encode('utf-8'))
    
        checkSum = m2.hexdigest()
    #    print('checkSum:{}'.format(checkSum))
    
        header = {
            'X-CurTime': curTime,
            'X-Param': paramBase64,
            'X-Appid': APPID,
            'X-CheckSum': checkSum,
            'X-Real-Ip': '127.0.0.1',
            'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
        }
    #    print(header)
        return header
    
    
    def getBody(text):
        data = {'text': text}
        return data
    
    
    def writeFile(file, content):
        with open(file, 'wb') as f:
            f.write(content)
        f.close()
    
    #  待合成文本内容
    #with open('t2v_test.txt','r',encoding='utf-8') as f:
    #    line = f.read()
    #r = requests.post(URL, headers=getHeader(), data=getBody("内容"))
    #待合成文本,使用utf-8编码,需urlencode,长度小于1000字节 一个汉字两个字节
    def readtxt_by_xunfei(readcontent):
        print('讯飞正在支持朗读助手')
        r = requests.post(URL, headers=getHeader(), data=getBody(readcontent))
        
        contentType = r.headers['Content-Type']
        if contentType == "audio/mpeg":
            sid = r.headers['sid']
            if AUE == "raw":
        #        print(r.content)
        #   合成音频格式为pcm、wav并保存在audio目录下
    #            writeFile("audio/" + sid + ".wav", r.content)
                writeFile(sid + ".wav", r.content)
            else:
        #        print(r.content)
        #   合成音频格式为mp3并保存在audio目录下
                writeFile("audio/" + "xiaoyan" + ".mp3", r.content)
            wavfilename=sid + ".wav"
            
            print("success, sid = " + sid)
            play_xunfei(wavfilename)
            os.remove(wavfilename)
        else:
        #   错误码链接:https://www.xfyun.cn/document/error-code (code返回错误码时必看)
            print(r.text)
    def readtxt_by_SAPI(content):
        print('SAPI正在支持朗读助手')
        import win32com.client
        speaker = win32com.client.Dispatch("SAPI.SpVoice")
        speaker.Speak(content)  
        
    def readtxt_by_pyttsx3(content):
        print('pyttsx3正在支持朗读助手')
        import pyttsx3
        engine = pyttsx3.init()
        volume=engine.getProperty('volume')
        engine.setProperty('volume', volume + 0.25)
        engine.say(content)
        engine.runAndWait()
        engine.stop()   
    def readnews(titlelist):
        for i in titlelist:
            readtxt_by_xunfei(i)
    #        readtxt_by_SAPI(i) #可以选择其他朗读引擎
    #        readtxt_by_pyttsx3(i)
    import paqu_sina    
    readnews(paqu_sina.newtitlelist()))
    

    爬取新浪国际新闻版块最新消息

    将该脚本命名为paqu_sina.py

    import requests
    from bs4 import BeautifulSoup
    import time
    import json
    import re
    import pandas
    import sys
    if sys.getdefaultencoding() != 'utf-8':
        reload(sys)
        sys.setdefaultencoding('utf-8')
    def getnewcontent(url):
        result = {}
        info = requests.get(url)
        info.encoding = 'utf-8'
        html = BeautifulSoup(info.text, 'html.parser')
        result['title'] = html.select('.second-title')[0].text
        result['date'] = html.select('.date')[0].text
        result['source'] = html.select('.source')[0].text
        article = []
        for v in html.select('.article p')[:-1]:
            article.append(v.text.strip())
        author_info = '\n'.join(article)
        result['content'] = author_info
        result['author'] = html.select('.show_author')[0].text.lstrip('责任编辑:')
        newsid = url.split('/')[-1].rstrip('.shtml').lstrip('doc-i')
        commenturl = 'http://comment5.news.sina.com.cn/page/info?version=1&format=json&channel=gj&newsid=comos-{}&group=undefined&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=3&t_size=3&h_size=3&thread=1&callback=jsonp_1536041889769&_=1536041889769'
        comments = requests.get(commenturl.format(newsid))
        regex = re.compile(r'(.*?)\(')#去除左边特殊符号
        tmp = comments.text.lstrip(regex.search(comments.text).group())
        jd = json.loads(tmp.rstrip(')'))
        result['comment'] = jd['result']['count']['total'] #获取评论数
        return result
    def getnewslink(url):
        test = requests.get(url)
        test2 =  test.text.lstrip('newsloadercallback(')
        jd = json.loads(test2.rstrip(')\n'))
        content = []
        for v in jd['result']['data']:
            content.append(getnewcontent(v['url']))
        return content
    def getdata():
        url = 'https://interface.sina.cn/news/get_news_by_channel_new_v2018.d.html?cat_1=51923&show_num=27&level=1,2&page={}&callback=newsloadercallback&_=1536044408917'
        weibo_info = []
        for i in range(1,3):
            newsurl = url.format(i)#字符串格式化用i替换{}
            weibo_info.extend(getnewslink(newsurl))
        return weibo_info
    
        
    def newtitlelist():
    	print('正在载入新闻内容,请稍后。。。')
        new_info = getdata()
        #df = pandas.DataFrame(new_info)
        #df #去除全部 df.head() 取出5行 head(n)  n行
        #将文件下载为excel表格 
        #df.title
        #df.to_excel('weibonews.xlsx')
        titlelist=[]
        for i in new_info:
            titlelist.extend([i['title']])
        return titlelist
       
    

    安装pyinstaller打包exe

    1、安装pyinstaller(需要先安装pip)、再:pip install pyinstaller

    2、定位到pyinstaller.exe所在文件夹(一般再python下的“scripts”文件夹下)

    (温馨提示鼠标吧文件拖进CMD里面)

    3、再添加上你要转换的文件地址(两者之间有空格)
    在这里插入图片描述
    pyinstaller.exe后面如果加上-F就是打包为一个exe文件(文件会比较大),如果不加就会有很多库文件;加上-w就是打包为没有cmd窗口的exe,不加运行时就会出现cmd窗口。(加不加凭个人喜好)
    例如
    被打包的文件: xx.py, 人人皆知.
    打包的命令: pyinstaller -D xx.py
    打包的console提示: 见随后的引述块
    打包发布exe时的纪律(注意事项):
    很简单的py脚本. Simple is better than complex. 应该遵守Python的规则.
    所以在打包为exe时, 应该尽量减少没有必要的python包的导入. 否则吃的太胖
    可以运行的exe文件位于: dist 目录下, 而不是build目录下的.

    运行
    在这里插入图片描述

    离线可选择其他语音合成引擎

    pyttsx3模块初探及实战项目

    import pyttsx3
    engine = pyttsx3.init() # object creation
    
    """ RATE"""
    rate = engine.getProperty('rate')   # getting details of current speaking rate
    print (rate)                        #printing current voice rate
    engine.setProperty('rate', 125)     # setting up new voice rate
    
    
    """VOLUME"""
    volume = engine.getProperty('volume')   #getting to know current volume level (min=0 and max=1)
    print (volume)                          #printing current volume level
    engine.setProperty('volume',1.0)    # setting up volume level  between 0 and 1
    
    """VOICE"""
    voices = engine.getProperty('voices')       #getting details of current voice
    #engine.setProperty('voice', voices[0].id)  #changing index, changes voices. o for male
    engine.setProperty('voice', voices[1].id)   #changing index, changes voices. 1 for female
    
    engine.say("Hello World!")
    engine.say('My current speaking rate is ' + str(rate))
    engine.runAndWait()
    engine.stop()
    
    import win32com.client
    #用 微软这个服务器 朗读中文小说
    speaker = win32com.client.Dispatch("SAPI.SpVoice")
    with open('t2v_test.txt','r',encoding='utf-8') as f:
        line = f.read()
        speaker = win32com.client.Dispatch("SAPI.SpVoice")
        speaker.Speak(line)
    
    展开全文
  • URL 源码分析

    千次阅读 2020-09-11 16:15:27
    资源可以是简单的文件或目录,或者它可以是对更复杂对象的引用,例如对数据库或搜索引擎的查询。这个类的作用就是URL的定位的作用,定位了每个资源符号引用的位置。整个URL大体上就是对URL内容进行规范,对URL进行...

    URL表示统一资源定位器,指向世界上“资源”的指针万维网。资源可以是简单的文件或目录,或者它可以是对更复杂对象的引用,例如对数据库或搜索引擎的查询。这个类的作用就是URL的定位的作用,定位了每个资源符号引用的位置。整个URL大体上就是对URL内容进行规范,对URL进行解析。

    构造方法是通过文件里面的端口和文件的访问主机对这个URL进行构造。

    public URL(String protocol, String host, int port, String file)
        throws MalformedURLException
    {
        this(protocol, host, port, file, null);
    }
    

    URL的构造方法,这个构造方法里面传输了URL里面的协议,主机名,端口号和文件名,最后通过流协议处理器来进行URL的解析。

        public URL(String protocol, String host, int port, String file,
                   URLStreamHandler handler) throws MalformedURLException {
            if (handler != null) {
            	//安全管理器检查
                SecurityManager sm = System.getSecurityManager();
                if (sm != null) {
                    checkSpecifyHandler(sm);
                }
            }
            
            protocol = protocol.toLowerCase();
            this.protocol = protocol;
            //判断主机名是否为空
            if (host != null) {
    			//根据冒号和中括号来判断主机名是否是ip地址
                if (host.indexOf(':') >= 0 && !host.startsWith("[")) {
                    host = "["+host+"]";
                }
                this.host = host;
    			//端口号小于-1,抛出异常说明这个端口号是无效端口。
                if (port < -1) {
                    throw new MalformedURLException("Invalid port number :" +
                                                        port);
                }
                this.port = port;
                //判断主机名中是否有端口号
                authority = (port == -1) ? host : host + ":" + port;
            }
    
    		//Parts类对文件的信息进行处理。
            Parts parts = new Parts(file);
            path = parts.getPath();
            query = parts.getQuery();
    
            if (query != null) {
                this.file = path + "?" + query;
            } else {
                this.file = path;
            }
            ref = parts.getRef();
    
    //注意:我们这里没有对URL进行完全验证。因为太冒险会变化。现在,但仅供将来参考。-比尔
            if (handler == null &&
                (handler = getURLStreamHandler(protocol)) == null) {
                throw new MalformedURLException("unknown protocol: " + protocol);
            }
            this.handler = handler;
            //调用URL流处理器来进行URL的解析。
            if (host != null && isBuiltinStreamHandler(handler)) {
            	//IP地址工具类,检查存在的表单。
                String s = IPAddressUtil.checkExternalForm(this);
                if (s != null) {
                    throw new MalformedURLException(s);
                }
            }
            //判断是否是jar的连接协议
            if ("jar".equalsIgnoreCase(protocol)) {
                if (handler instanceof sun.net.www.protocol.jar.Handler) {
                    String s = ((sun.net.www.protocol.jar.Handler) handler).checkNestedProtocol(file);
                    if (s != null) {
                        throw new MalformedURLException(s);
                    }
                }
            }
        }
    

    URL反序列化状态值

       public UrlDeserializedState(String protocol,
                                    String host, int port,
                                    String authority, String file,
                                    String ref, int hashCode) {
            this.protocol = protocol;
            this.host = host;
            this.port = port;
            this.authority = authority;
            this.file = file;
            this.ref = ref;
            this.hashCode = hashCode;
        }
    

    文件信息分离,分离“#”符号以后的引用内容,分离"?"以后的参数。见文末“#”引用在URL地址中的作用。

    class Parts {
        String path, query, ref;
    
        Parts(String file) {
        	//分割URL中“#”引用符号
            int ind = file.indexOf('#');
            ref = ind < 0 ? null: file.substring(ind + 1);
            file = ind < 0 ? file: file.substring(0, ind);
            int q = file.lastIndexOf('?');
            if (q != -1) {
                query = file.substring(q+1);
                path = file.substring(0, q);
            } else {
                path = file;
            }
        }
    
        String getPath() {
            return path;
        }
    
        String getQuery() {
            return query;
        }
    
        String getRef() {
            return ref;
        }
    }
    

    URL读取内容处理方法。设置URLStreamHandler 目的是为了进行开启连接和进行URL的字符串的解析。

       private Object readResolve() throws ObjectStreamException {
    
            URLStreamHandler handler = null;
    		//已签入readObject
            handler = getURLStreamHandler(tempState.getProtocol());
    
            URL replacementURL = null;
            //判断流处理器是否是从sun.net.www.protocol调用
            if (isBuiltinStreamHandler(handler.getClass().getName())) {
            	//配置新的URL
                replacementURL = fabricateNewURL();
            } else {
            	//设置反序列化的参数
                replacementURL = setDeserializedFields(handler);
            }
            return replacementURL;
        }
    
    	//设置URL反序列化参数。
        private URL setDeserializedFields(URLStreamHandler handler) {
            URL replacementURL;
            String userInfo = null;
            String protocol = tempState.getProtocol();
            String host = tempState.getHost();
            int port = tempState.getPort();
            String authority = tempState.getAuthority();
            String file = tempState.getFile();
            String ref = tempState.getRef();
            int hashCode = tempState.getHashCode();
    
    //构建权限部分
            if (authority == null
                && ((host != null && host.length() > 0) || port != -1)) {
                if (host == null)
                    host = "";
                authority = (port == -1) ? host : host + ":" + port;
    
    //处理包含用户信息的主机
                int at = host.lastIndexOf('@');
                if (at != -1) {
                    userInfo = host.substring(0, at);
                    host = host.substring(at+1);
                }
            } else if (authority != null) {
    //构建用户信息部分
                int ind = authority.indexOf('@');
                if (ind != -1)
                    userInfo = authority.substring(0, ind);
            }
    
    //构造路径和查询部分
            String path = null;
            String query = null;
            if (file != null) {
    //修正:只有在等级制度下才能这样做?
                int q = file.lastIndexOf('?');
                if (q != -1) {
                    query = file.substring(q+1);
                    path = file.substring(0, q);
                } else
                    path = file;
            }
    
    //设置对象字段。
            this.protocol = protocol;
            this.host = host;
            this.port = port;
            this.file = file;
            this.authority = authority;
            this.ref = ref;
            this.hashCode = hashCode;
            this.handler = handler;
            this.query = query;
            this.path = path;
            this.userInfo = userInfo;
            replacementURL = this;
            return replacementURL;
        }
    
    static final String BUILTIN_HANDLERS_PREFIX = "sun.net.www.protocol";
    
    boolean isBuiltinStreamHandler(URLStreamHandler handler) {
       Class<?> handlerClass = handler.getClass();
       return isBuiltinStreamHandler(handlerClass.getName())
                 || (handlerClass.getClassLoader() == null);
    }
    
    private boolean isBuiltinStreamHandler(String handlerClassName) {
        return (handlerClassName.startsWith(BUILTIN_HANDLERS_PREFIX));
    }
    
    	//临时参数存放
        private transient UrlDeserializedState tempState;
    
        private URL fabricateNewURL()
                    throws InvalidObjectException {
    //从反序列化对象创建URL字符串
            URL replacementURL = null;
            //获取URL字符串
            String urlString = tempState.reconstituteUrlString();
    
            try {
                replacementURL = new URL(urlString);
            } catch (MalformedURLException mEx) {
                resetState();
                InvalidObjectException invoEx = new InvalidObjectException(
                        "Malformed URL: " + urlString);
                invoEx.initCause(mEx);
                throw invoEx;
            }
            replacementURL.setSerializedHashCode(tempState.getHashCode());
            resetState();
            return replacementURL;
        }
    
    final class UrlDeserializedState {
        private final String protocol;
        private final String host;
        private final int port;
        private final String authority;
        private final String file;
        private final String ref;
        private final int hashCode;
    
        public UrlDeserializedState(String protocol,
                                    String host, int port,
                                    String authority, String file,
                                    String ref, int hashCode) {
            this.protocol = protocol;
            this.host = host;
            this.port = port;
            this.authority = authority;
            this.file = file;
            this.ref = ref;
            this.hashCode = hashCode;
        }
    
    //预计算StringBuilder的长度
            int len = protocol.length() + 1;
            if (authority != null && authority.length() > 0)
                len += 2 + authority.length();
            if (file != null) {
                len += file.length();
            }
            if (ref != null)
                len += 1 + ref.length();
            StringBuilder result = new StringBuilder(len);
            result.append(protocol);
            result.append(":");
            if (authority != null && authority.length() > 0) {
                result.append("//");
                result.append(authority);
            }
            if (file != null) {
                result.append(file);
            }
            if (ref != null) {
                result.append("#");
                result.append(ref);
            }
            return result.toString();
        }
    }
    
    
    附:URL类的使用方法
    https://www.cnblogs.com/blackiesong/p/6182038.html
    
    URL中#的作用
    https://www.cnblogs.com/kaituorensheng/p/3776527.html
    
    
    展开全文
  • 易语言源码易语言TTS引擎语音朗读源码.rar
  • tts 语音朗读 语音报时 语音提醒 文字转WAV
  • def get_baidu_voice_url(text): api_base = 'https://tts.baidu.com/text2audio?tex=' token = '&cuid=baike&lan=ZH&ctp=1&pdt=301&vol=9&rate=32&per=0' url_encoded_text = ...
  • 利用微软提供的SAPI库实现中文朗读。这里是源代码
  • 那么不妨试试用 Python 来朗读给你听吧。网页转换成语音,步骤无外乎:网页正文识别,获取到正文的文本内容;文本转语音,通过接口将文本转换成语音文件;语音文件的发声,即将语音文件读出;1 网页正文识别之所以用...
  • http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&text=百度翻译女声语音播报apihttp://api.microsofttranslator.com/v2/http.svc/speak?appId=TJnIprF8gfKIzzWSJUYbWZBxOdX4nQDJK4o5BoiI42GE*&language=zh-TW&...
  • 使用URL在线语音合成

    千次阅读 2015-12-29 11:57:17
    最近一直在做手机的项目,用到了语音合成与识别的功能,就找了几个网址做了分析,这里仅仅实现了...使用这个URL,你需要POST content 数据到这个URL上面,会返回一个MP3的URL播放地址,然后使用这个地址播放就可以了
  • 网页中文本朗读功能开发实现分享前几天完成了一个需求,在网页中完成鼠标指向哪里,就用语音读出所指的文本。如果是按钮、链接、文本输入框,则还还要给出是什么的提醒。同时针对大段的文本,不能整段的去读,要按照...
  • Python喜马拉雅有声小说音频文件爬虫

    千次阅读 热门讨论 2021-03-18 08:21:38
    今天爬取的是喜马拉雅有声小说。 ... 分析操作开始: ...我们尝试访问一下该接口的url,将url复制到浏览器打开。 发起访问后,跳转出了一个保存文件到本地的界面。 我们选择保存,发现多了一个类型
  • ie=UTF-8&spd=2&text=你要转换的文字参数说明:lan=zh:语言是中文,如果改为lan=en,则语言是英文。ie=UTF-8:文字格式。spd=2:语速,可以是1-9的数字,数字越大,语速越快。text=**:这个就是你要转换的...
  • 推荐几个好的URL

    2005-09-21 15:51:00
    个人图书馆www.360doc.com/大型软件下载www.51windows.net
  • 使用微软TTS语音引擎实现文本朗读

    千次阅读 2019-03-15 15:38:09
    使用微软TTS语音引擎实现文本朗读 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/byxdaz/article/details/78443954 TTS(Text-To-Speech)是指文本语音的简称,即通过TTS引擎把...
  • 现在,随着移动应用的日益普及,移动语音应用越来越受到用户的重视和喜爱,本文将指导用户如何在Android SDK中使用语音引擎去创建简单的应用。在Android中使用语音引擎其实是很容易的事情,通过若干步骤就可以实现了...
  • 阅读引擎开源项目调研总结

    千次阅读 2018-02-02 09:56:29
    该阅读器实现了本地书架、从SD卡导入电子书 、语音朗读功能。阅读时具有仿真翻页、自动记录阅读进度、可设置字体大小、设置阅读亮度、设置书签、夜间日间模式切换及具有进度调整功能。 功能介绍: 1、语音朗读...
  • (只要网络上有人分享上传了)﹀﹀﹀一、阅读(安卓)1、下载链接:https://www.coolapk.com/apk/io.legado.app.release2、食用方法:方法一 ( 网络导入 ): 复制源URL,打开阅读"订阅"->点击右上角设置->选择".....

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 185
精华内容 74
关键字:

朗读引擎url导入