Warung Bebas

Jumat, 17 Mei 2013

Penggunaan API Google Speak (VB 6.0)

Fungsi ini menggunakan API dari Google Speak, dengan Google Speak ini kita dapat membuat teks berbicara. Namun sayang hanya dapat membuat teks berbisara sepanjang 100 karakter. Untuk menggunakan Google API ini tentu saja kita membutuhkan koneksi internet.
Dalam penggunaan API Google Speak ini parameter yang haru diatur pertama adalah teks yang ingin didengar, kedua pengucapannya dalam bahasa apa,

Berikut kode negara untuk pengucapan textnya.
Indonesia: id
Jerman: de
Denmark: da
Spanyol: es
Finlandia: fi
Prancis: fr
Inggris: en
Italia: it
Belanda: nl
Polandia: pl
Portugis: pt
Swedia: sv

dan parameter ketiga adalah untuk memanggil DoEvents yang kita ingin.
Option Explicit
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Public Function GoogleSpeak(ByVal sText As String, Optional ByVal Language As String = "es", Optional ByVal bDoevents As Boolean) As Boolean
On Error Resume Next
Dim sTempPath As String, ml As String
Dim FileLength As Long

sText = Replace(sText, vbCrLf, " ")

If Len(sText) > 100 Then Exit Function

sTempPath = Environ("Temp") & "\TempMP3.MP3"

If URLDownloadToFile(0&, "http://translate.google.com/translate_tts?tl=" & Language & "&q=" & sText, sTempPath, 0&, 0&) = 0 Then

If mciSendString("open " & Chr$(34) & sTempPath & Chr$(34) & " type MpegVideo" & " alias myfile", 0&, 0&, 0&) = 0 Then

ml = String(30, 0)
Call mciSendString("status myfile length ", ml, 30, 0&)
FileLength = Val(ml)
If FileLength Then
If mciSendString("play myFile", 0&, 0&, 0&) = 0 Then
Do While mciSendString("status myfile position ", ml, 30, 0&) = 0
If Val(ml) = FileLength Then GoogleSpeak = True: Exit Do
If bDoevents Then DoEvents
Loop
End If
End If
Call mciSendString("close myfile", 0&, 0&, 0&)

End If

Kill sTempPath
End If

End Function

Private Sub Command1_Click()
Debug.Print GoogleSpeak("Terima kasih telah berkunjung.", "id", True)
End Sub

0 komentar em “Penggunaan API Google Speak (VB 6.0)”

Posting Komentar

 

Indah Hidup Copyright © 2012 Fast Loading -- Powered by Blogger