久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

返回列表 發(fā)帖
查看: 379|回復(fù): 5

使用Trae AI功能為編輯器添加話筒,調(diào)用windows讀寫功能

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
樓主
發(fā)表于 2025-4-27 21:58:20 | 只看樓主 |倒序瀏覽 |閱讀模式
這幾天為了這個東東,真折騰。

原想在程序上添加語音轉(zhuǎn)文字的功能,網(wǎng)上查了好些資料,并使用Trae 提問,可回復(fù)的內(nèi)容,真心看不懂,找不到所在文件的路徑。
這是通過AI分析DZ程序的回復(fù),有點看不明白,先留個底。
要在 Discuz 程序的編輯器里增加一個語音轉(zhuǎn)文字的功能,可按以下步驟實現(xiàn):

### 1. 選擇語音轉(zhuǎn)文字服務(wù)
可以選擇使用第三方語音轉(zhuǎn)文字服務(wù),例如百度語音識別、阿里云語音識別或者騰訊云語音識別。這里以百度語音識別為例進行說明。

### 2. 申請 API Key 和 Secret Key
訪問百度語音開放平臺,創(chuàng)建一個新應(yīng)用,獲取 API Key 和 Secret Key 。

### 3. 引入必要的 JavaScript 庫
在編輯器頁面引入百度語音識別的 JavaScript SDK。

### 4. 修改編輯器頁面
找到 Discuz 編輯器相關(guān)的模板文件,從工具調(diào)用歷史來看,可能涉及到編輯器相關(guān)的文件有 `post_editor_attribute.htm` 和 `lang_editor.php` 。不過具體的編輯器核心文件可能未完全展示,下面以假設(shè)的方式添加語音轉(zhuǎn)文字按鈕和功能。
修改語言文件
在 `lang_editor.php` 中添加新的語言項:

```php
// ... existing code ...
$lang = array(
    // ... existing code ...
    'editor_voice_to_text' => '語音轉(zhuǎn)文字',
    // ... existing code ...
);
// ... existing code ...
```
修改模板文件
在編輯器模板文件中添加語音轉(zhuǎn)文字按鈕,并綁定相應(yīng)的 JavaScript 事件。假設(shè)在 `post_editor_attribute.htm` 中添加:

```html
// ... existing code ...
<ul class="swiper-wrapper" id="post_extra_tb">
    <!-- ... existing code ... -->
    <li class="swiper-slide" id="voice_to_text_b"><a>{lang editor_voice_to_text}</a></li>
    <!-- ... existing code ... -->
</ul>
// ... existing code ...
```
```

### 5. 實現(xiàn) JavaScript 邏輯
在頁面中添加百度語音識別的 JavaScript 代碼:

```html
// ... existing code ...
<script type="text/javascript">
    // 百度語音識別配置
    var client = new BaiduSpeech();
    client.setAppId('your_app_id');
    client.setApiKey('your_api_key', 'your_secret_key');

    function startVoiceRecognition() {
        client.start({
            lang: 'zh', // 識別語言
            cuid: 'your_cuid',
            pdt: 1536 // 普通話輸入法模型
        });

        client.onmessage = function (res) {
            if (res.result) {
                var text = res.result[0];
                // 將識別結(jié)果插入到編輯器中
                var editor = document.getElementById('your_editor_id');
                if (editor) {
                    editor.value += text;
                }
            }
        };
    }
</script>
// ... existing code ...
```
```

### 注意事項
- 請將 your_app_id 、 your_api_key 、 your_secret_key 和 your_cuid 替換為你自己的實際信息。
- your_editor_id 需要替換為 Discuz 編輯器的實際 ID。
- 由于工具調(diào)用歷史可能未包含所有相關(guān)文件,若上述文件不是實際的編輯器文件,請?zhí)峁└辔募畔⒁员氵M一步調(diào)整。
然后根據(jù)提示,找到百度語音轉(zhuǎn)文字的啥東西,一看,價格不菲呀。也就是網(wǎng)上瘋轉(zhuǎn)的所謂AI系列東西。
這哪是添加功能,這不是要人命嘛。按小時收費。
后來一想,手機上不是可以嘛,根據(jù)輸入法,也找到了官方網(wǎng)址,可就是沒有電腦端的應(yīng)用。谷歌好象有,可鏈接不上,這把人搞得一暈一暈的。

回到原址,再向Trae提問:
你的這個回復(fù)先放放,我也不明白編輯器ID。現(xiàn)在,不去研究這個ID。那我們換個思路,在編輯器里添加話筒圖標(biāo),點擊后,能喚起電腦自帶的聽寫功能。比如win11,打開記事本,或文字編輯器,按windows圖標(biāo)+H,就可以喚起電腦系統(tǒng)自帶的聽寫功能。那么,怎么更改網(wǎng)站代碼,或者怎么實現(xiàn)這個功能。
得到回復(fù)【非常漂亮,并測試成功】:
要在網(wǎng)站編輯器里添加話筒圖標(biāo),點擊后喚起 Windows 11 系統(tǒng)自帶的聽寫功能(按 Windows 鍵 + H ),可以借助 JavaScript 模擬按鍵事件。不過,瀏覽器出于安全考慮,通常不允許直接模擬 Windows 鍵 + H 這樣的系統(tǒng)級組合鍵。但可以通過提示用戶手動觸發(fā),或者引導(dǎo)用戶了解該功能。

以下是實現(xiàn)步驟和示例代碼:

### 1. 添加話筒圖標(biāo)
在編輯器相關(guān)的模板文件中添加一個話筒圖標(biāo)按鈕,假設(shè)該文件路徑為 d:\wamp64\www\tianya\template\default\touch\forum\post_editor_attribute.htm 。

```html
// ... existing code ...
<ul class="swiper-wrapper" id="post_extra_tb">
    <!-- ... existing code ... -->
    <li class="swiper-slide" id="voice_dictation_btn">
        <a href="javascript:void(0);">
            <img src="path/to/microphone-icon.png" alt="語音聽寫">
        </a>
    </li>
    <!-- ... existing code ... -->
</ul>
// ... existing code ...
```
```

請將 path/to/microphone-icon.png 替換為實際的話筒圖標(biāo)路徑。

### 2. 實現(xiàn)提示功能
添加 JavaScript 代碼,當(dāng)用戶點擊話筒圖標(biāo)時,彈出提示框告知用戶如何觸發(fā)系統(tǒng)聽寫功能。

```html
// ... existing code ...
<script>
function showVoiceDictationTip() {
    alert('請按下 Windows 鍵 + H 來啟動系統(tǒng)自帶的語音聽寫功能。');
}
</script>
// ... existing code ...
```
```

### 總結(jié)
由于瀏覽器安全限制,無法直接通過代碼觸發(fā) Windows 鍵 + H 組合鍵。上述方案通過添加圖標(biāo)和提示信息,引導(dǎo)用戶手動觸發(fā)系統(tǒng)聽寫功能。你可以根據(jù)實際需求調(diào)整圖標(biāo)樣式和提示信息內(nèi)容。
回復(fù)是到位,可哪個是編輯器文件呢,在官方論壇上查了半天,也沒看到是哪個文件。
沒辦法,死辦法一個一個的查。
本人使用的模板是直接在默認(rèn)模板上修改的,所以路徑上供大家參考,forum/post_editor_body.htm。
約107行,把修改過的代碼完整復(fù)制過去,并測試編輯器的顯示情況。
  1. <!-- 添加話筒,讀寫 -->
  2.                         <ul class="swiper-wrapper" id="post_extra_tb" onselectstart="return false">
  3.              <li class="swiper-slide" id="voice_dictation_btn">
  4.                 <a href="javascript:void(0);" onclick="showVoiceDictationTip()">
  5.                   <img src="images/ty_ht.png" alt="語音聽寫">
  6.                 </a>
  7.              </li>
  8.             </ul>
  9.             <script>
  10.                                 function showVoiceDictationTip() { alert('請按下 Windows 鍵 + H 來啟動系統(tǒng)自帶的語音聽寫功能。'); }
  11.             </script>
復(fù)制代碼


至此,電腦端windows系統(tǒng)調(diào)用語音功能到位,下面就是細(xì)節(jié)上的修改了。
但是蘋果電腦怎么弄,希望有蘋果電腦的,弄好后,分享一下。
回復(fù)

使用道具 舉報

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
沙發(fā)
 樓主| 發(fā)表于 2025-4-27 22:07:34 | 只看Ta
哈,接著上樓,再向Trae提問。
經(jīng)過測試,上面方法可用,但是,如果是蘋果電腦,怎么優(yōu)化上面的代碼
靠,回復(fù)來了:
在蘋果電腦上,喚起系統(tǒng)自帶的語音聽寫功能可以通過按下 Fn + Control + 空格 組合鍵。我們可以修改之前的代碼,當(dāng)用戶使用蘋果設(shè)備時,提示相應(yīng)的操作方法。

### 修改模板文件
在 d:\wamp64\www\tianya\template\default\touch\forum\post_editor_attribute.htm 文件中保持圖標(biāo)按鈕不變,但修改 JavaScript 代碼來根據(jù)用戶設(shè)備類型給出不同提示。

```html
// ... existing code ...
<script>
function showVoiceDictationTip() {
    const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
    if (isMac) {
        alert('請按下 Fn + Control + 空格 來啟動系統(tǒng)自帶的語音聽寫功能。');
    } else {
        alert('請按下 Windows 鍵 + H 來啟動系統(tǒng)自帶的語音聽寫功能。');
    }
}
</script>
// ... existing code ...
```
```

上述代碼通過 navigator.platform 來判斷用戶是否使用蘋果設(shè)備,如果是則提示 Fn + Control + 空格 組合鍵,否則提示 Windows 鍵 + H 組合鍵。
我的媽呀,可我沒有蘋果啊。怎么測試呢。
回復(fù)

使用道具 舉報

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
板凳
 樓主| 發(fā)表于 2025-4-27 22:29:44 | 只看Ta
遺憾來了,打開抖音短視頻,讀寫正常,可沒有標(biāo)點符號
回復(fù)

使用道具 舉報

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
地板
 樓主| 發(fā)表于 2025-4-27 22:59:19 | 只看Ta
糾正一下,行數(shù)不對,測試使用的 是有背景底色的,更換png格式后,顯示有其它圖標(biāo)。
位置錯了?大佬提示一下。
回復(fù)

使用道具 舉報

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
5#
 樓主| 發(fā)表于 2025-4-30 23:05:31 來自手機 | 只看Ta
TaC 發(fā)表于 2025-4-27 22:29
遺憾來了,打開抖音短視頻,讀寫正常,可沒有標(biāo)點符號

今天測試,標(biāo)點符號正常,有點怪
回復(fù)

使用道具 舉報

TaC

104

主題

616

回帖

766

積分

自成一派

貢獻
5 點
金幣
3 個
6#
 樓主| 發(fā)表于 2025-4-30 23:10:36 來自手機 | 只看Ta
目前發(fā)現(xiàn)問題:
1,代碼放到標(biāo)題一欄,標(biāo)題及主題分類,無法輸入。
2,代碼放到編輯一欄,出來其它編輯欄的圖標(biāo)背景。
希望官方解答,并能充分利用這個功能。因為對于網(wǎng)站,或是會員,它免費。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

  • 關(guān)注公眾號
  • 有償服務(wù)微信
  • 有償服務(wù)QQ

手機版|小黑屋|Discuz! 官方交流社區(qū) ( 皖I(lǐng)CP備16010102號 |皖公網(wǎng)安備34010302002376號 )|網(wǎng)站地圖|star

GMT+8, 2025-7-1 15:20 , Processed in 0.067342 second(s), 12 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關(guān)燈 在本版發(fā)帖
有償服務(wù)QQ
有償服務(wù)微信
返回頂部
快速回復(fù) 返回頂部 返回列表