Memuat Karakter dan Data Animasi
[Microsoft Agent tidak digunakan lagi pada Windows 7, dan mungkin tidak tersedia dalam versi Windows berikutnya.]
Setelah Anda memiliki penunjuk ke antarmuka IAgentEx , Anda dapat menggunakan metode Load untuk memuat karakter dan mengambil antarmuka IAgentCharacterEx-nya . Ada tiga kemungkinan berbeda untuk jalur Beban karakter. Yang pertama kompatibel dengan Microsoft Agent 1.5 di mana jalur yang ditentukan adalah jalur lengkap dan nama file file dari file karakter. Kemungkinan kedua adalah menentukan nama file saja, dalam hal ini, Agen melihat direktori Chars-nya. Kemungkinan terakhir adalah menyediakan parameter Varian kosong yang menyebabkan karakter default dimuat.
// Create a variant to store the filename of the character to load
const LPWSTR kpwszCharacter = L"merlin.acs";
VariantInit(&vPath);
vPath.vt = VT_BSTR;
vPath.bstrVal = SysAllocString(kpwszCharacter);
// Load the character
hRes = pAgentEx->Load(vPath, &lCharID, &lRequestID);
// Get its IAgentCharacterEx interface
hRes = pAgentEx->GetCharacterEx(lCharID, &pCharacterEx);
Anda dapat menggunakan antarmuka ini untuk mengakses metode karakter:
// Show the character. The first parameter tells Microsoft
// Agent to show the character by playing an animation.
hRes = pCharacterEx->Show(FALSE, &lRequestID);
// Make the character speak
bszSpeak = SysAllocString(L"Hello World!");
hRes = pCharacterEx->Speak(bszSpeak, NULL, &lRequestID);
SysFreeString(bszSpeak);
Saat Anda tidak lagi memerlukan layanan Agen Microsoft, seperti saat aplikasi klien Anda dimatikan, lepaskan antarmukanya. Perhatikan bahwa melepaskan antarmuka karakter tidak membongkar karakter. Panggil metode Unload untuk melakukan ini sebelum merilis antarmuka IAgentEx :
// Clean up
if (pCharacterEx) {
// Release the character interface
pCharacterEx->Release();
// Unload the character. NOTE: releasing the character
// interface does NOT make the character go away. You must
// call Unload.
pAgentEx->Unload(lCharID);
}
// Release the Agent
pAgentEx->Release();
VariantClear(&vPath);
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk