Steamworks-dokumentaatio
Steam Voice
Steam Voice API sisältää toimintoja, joiden avulla voit tallentaa ääntä käyttäjän mikrofonista. Sen avulla voi ottaa käyttöön puhelut tai äänikomennot.

Puhelujen integrointi

Voit lisätä puhelut peliisi seuraavasti:

  • Tallennus
    Suorita ensin kutsu ISteamUser::StartVoiceRecording, jotta voit tallentaa käyttäjän mikrofonin ääntä. Kutsu suoritetaan, kun käyttäjä painaa Paina ja puhu -näppäintä tai peli-istunnon alkaessa, jos mikrofonin on tarkoitus tallentaa aina. Voit käyttää jompaakumpaa pelisi mukaan, mutta ihannetapauksessa käyttäjä voi valita joko jatkuvan tallennuksen tai Paina ja puhu -tallennuksen. Yleensä ei kannata valita jatkuvaa tallennusta oletukseksi. Jos peli tukee useampaa kuin neljää pelaajaa, jatkuva tallennus ei ole koskaan suositeltava. Kun pelaaja lopettaa Paina ja puhu -tallennuksen tai peli-istunto päättyy, lopeta tallennus suorittamalla kutsu ISteamUser::StopVoiceRecording.

    Jos käyttäjä käyttää Paina ja puhu -puhelua, voit suorittaa kutsun ISteamFriends::SetInGameVoiceSpeaking tallennuksen alussa ja lopussa. Näin voit mykistää puhelun, joka käyttäjällä saattaa olla käytössä Steam Friends -käyttöliittymässä. Parhaassa tapauksessa pelaajat voivat itse ottaa tämän toiminnon käyttöön ja poistaa sen käytöstä.

    Kun tallennus on alkanut, suorita kutsu ISteamUser::GetAvailableVoice, jotta jokainen kehys tarkistaa, onko pakattuja äänitietoja saatavina. Jos äänitietoja on saatavina, nouda uusin äänitieto mikrofonilta kutsulla ISteamUser::GetVoice.
  • Lähettäminen
    Kun olet noutanut äänitiedot, voit lähettää ne muille pelaajille. Steam Voice API ei sisällä toimintoja tämän tekemiseen suoraan, mutta voit käyttää apuna verkkopalvelukirjastoa. Steamin Peer-to-peer verkostoitumisen ohjelmointirajapinnat sopivat tähän hyvin.
  • Vastaanottaminen
    Kun kohdekäyttäjät vastaanottavat äänitietoja, he muuntavat pakatut tiedot takaisin ääneksi kutsulla ISteamUser::DecompressVoice.
    Voit valinnaisesti käyttää kutsua ISteamUser::GetVoiceOptimalSampleRate, jolla voit tarkistaa Steam Voicen pakkauksen purun näytteenottotaajuuden ennen kutsua ISteamUser::DecompressVoice. Tämä vähentää prosessorin käyttöä, mutta äänen laatu saattaa kärsiä.

Esimerkki

Steamworks API Example Application (SpaceWar) sisältää korkealaatuisen Steam Voice API -toteutuksen. Oleelliset osat ovat saatavilla voicechat.cpp/h -tiedostoissa.

Onko sinulla kysyttävää?

Voit tutustua vastauksiin ja esittää kysymyksiä Steamworksin kehittäjien keskustelupalstalla.