FMUSER Wirless Verzend video en audio eenvoudiger!

[e-mail beveiligd] WhatsApp + 8618078869184
Taal

    Hoe ontwerp je een digitaal spraakomroepsysteem met Ethernet?

     

    Dit artikel biedt een ingebedde Ethernet-oplossing voor het digitale spraakomroepsysteem, waarmee de regionale omroepfunctie van het omroepsysteem gemakkelijk kan worden gerealiseerd. Het systeem is gebaseerd op de armarchitectuur en past de methode van systeemafspeelterminalarbitrage toe om de realisatie van regionale uitzendingen te regelen, en de uitgezonden inhoud kan gelijktijdig worden afgespeeld en opgeslagen.

    Het Ethernet digitale spraakomroepsysteem verwijst voornamelijk naar het omroepsysteem dat Ethernet gebruikt als transmissiemedium voor het leveren van audioservices. Ethernet kan worden gebruikt om het probleem van langeafstandstransmissie van spraaksignalen op te lossen. Hiermee kunnen ontwerpers een grootschalige netwerkstructuur creëren om de overdracht van duizenden digitale spraaksignalen over het Ethernet te realiseren, waarbij de bestaande netwerkbronnen volledig worden benut, de moeite van het herhaaldelijk opzetten van lijnen wordt vermeden en de integratie van omroep- en computernetwerken wordt gerealiseerd . Het lost de problemen op van slechte geluidskwaliteit, storingsgevoeligheid, complex onderhoud en beheer en slechte interactie in traditionele omroepsystemen. Tegelijkertijd is het mogelijk om alle, gedeeltelijke of specifieke gebieden te selecteren voor gerichte groepsuitzendingen, wat de beperking doorbreekt dat traditionele omroepsystemen alleen openbare omroep kunnen uitvoeren voor alle gebieden. Bestaande Ethernet digitale spraakomroepsystemen gebruiken meestal stuursignalen om de omroepterminal te besturen om zich bij de multicastgroep aan te sluiten of deze te verlaten bij het realiseren van de regionale omroepfunctie. Het is nodig om een ​​stuursignaal te sturen om de terminal lid te maken van de multicastgroep voordat uitzending kan worden gerealiseerd. Of stel een complexe mappingtabel op aan de serverzijde om de toestand van de afspeelterminal te behouden om regionale uitzendingen te realiseren, wat ingewikkelder is om te implementeren.

    1 Constructief ontwerp

    Dit systeem neemt de C / S-structuur aan en bestaat uit twee delen van het serveruiteinde van het omroepsysteem en de omroepterminal van het omroepsysteem, zoals weergegeven in figuur 1.

    De server van het uitzendsysteem is geïmplementeerd op een pc en het is een programma voor het verzamelen, opslaan en netwerkoverdracht van spraaksignalen dat wordt gerealiseerd door VC ++. Dit onderdeel verzamelt en slaat het spraaksignaal op via een microfoon, en verzendt vervolgens de spraakgegevens naar het Ethernet via UDP om de netwerktransmissiefunctie van spraakgegevens te realiseren.

    De terugspeelterminal van het uitzendsysteem is een ingebedde terminal gebaseerd op LM3S8962, die de IP-spraakgegevenspakketten kan ontvangen die ernaar zijn verzonden vanaf het Ethernet, en de audiodecoderingschip MS6336 voltooit de digitale / analoge conversie en het afspelen van de spraakgegevens

    2 Broadcast-systeem hardware-ontwerp voor broadcast-terminal

    De belangrijkste besturingschip van de uitzendterminal van het uitzendsysteem gebruikt de microcontroller LM3S8962 van LuminaryMicro. Deze serie chips is de eerste ARM CortexTM-M3-gebaseerde controller met een interne geïntegreerde Ethernet-controller. Het is de eerste ARM-chip in de branche die Industrial Ethernet (IEEE) ondersteunt en gemakkelijk netwerkfuncties kan implementeren.

    De audiodecoderchip gebruikt de MS6336-chip geproduceerd door MOSA. De chip is een 16-bits stereo-audio digitaal-naar-analoog-omzetter en de ondersteunde digitale invoerformaten zijn Right Justifl-ed, Left Justified, I2S. MS6336-besturingsinterface gebruikt I2C-bus, de interface is eenvoudig in te stellen. Het DAC-gedeelte heeft een nauwkeurige en stabiele stroom, gecombineerd met een uitstekende symmetrische decoderingsmethode, en kan audiosignalen van hoge kwaliteit reproduceren.

    De hoofdbesturingschip LM3S8962 is via magnetische componenten verbonden met de RJ45-interface en wordt gebruikt om spraakgegevens van Ethernet te ontvangen. LM3S8962 levert besturingssignalen en spraakgegevenssignalen voor de audiodecoderchip MS6336. LM3S8962 ondersteunt de I2C-functie. PB2- en PB3-poorten bieden respectievelijk I2C-klok- en datasignalen. Deze twee pinnen kunnen rechtstreeks worden aangesloten op de I2C-functiepinnen van MS6336, en een pull-up-weerstand is vereist. LM3S8962 biedt geen ondersteuning voor het gegevensinvoerformaat dat vereist is door MS6336. Het gegevensinvoerformaat van MS6336 in het systeem gebruikt I2S. Om spraakgegevens aan MS6336 te leveren, is het daarom nodig om GPIO-poortsoftware van LM3S8962 te gebruiken om het I2S-gegevensinvoerformaat te simuleren dat vereist is door MS6336. In het ontwerp worden PA5-, PA6- en PA7-poorten gebruikt om deze functie te simuleren. De drie pinnen komen overeen met respectievelijk het I2S-kanaalselectiesignaal, kloksignaal en datasignaal. Verbind deze drie pinnen met de I2S-functiepin van MS6336.

    De hardwarestructuur van de afspeelterminal van het Ethernet digitale spraakomroepsysteem wordt getoond in figuur 2.

    3 Ontwerp van software voor omroepsystemen

    De omroepsysteemsoftware is verdeeld in twee delen: omroepsysteemserversoftware en omroepterminalsoftware.

    Dit ontwerp realiseert de realtime weergave van spraakgegevens, dus de realtime prestaties van spraakgegevensoverdracht moeten worden gegarandeerd, maar de vereisten voor gegevensintegriteit zijn niet te streng, en een kleine hoeveelheid pakketverlies heeft geen invloed op de algemeen afspeeleffect, dus de spraakgegevens van het systeem De transmissie gebruikt de UDP-transmissiemodus. Tegelijkertijd werkt het systeem in het lokale netwerk en zijn er weinig tijdelijke gebruikers. Daarom wordt de statische IP-adrestoewijzing gebruikt om de realisatie van de afspeelterminalsoftware te vereenvoudigen.

    3.1 Het verzamelen, opslaan en verzenden van spraakgegevens aan de serverzijde van het omroepsysteem

    Het verzamelen van spraakgegevens wordt geïmplementeerd met behulp van WAVE-audio API-functies op laag niveau. Om het verlies van spraakgegevens niet te veroorzaken, gebruikt het ontwerp dubbele buffering om spraakgegevens op te slaan. Het implementatieproces is weergegeven in Figuur 3.

    Wanneer een opnamebuffer vol is, stuurt het systeem onmiddellijk een andere opnamebuffer naar het opnameapparaat om door te gaan met opnemen, en het applicatieprogramma moet de gegevens in de volledige opnamebuffer lezen en verwerken. Roep vervolgens de functie waveInAddBuffer aan om de buffer opnieuw toe te wijzen aan het opnameapparaat voor recycling.

    Om het verlies van spraakgegevens tijdens het opnameproces te voorkomen, is het niet voldoende om simpelweg dubbele buffering te gebruiken. Er moet ook worden opgemerkt dat wanneer een buffer vol is, de toepassing de gegevens in de buffer en de tweede zal verwerken.De buffer wordt gebruikt voor opname en de gegevensverwerkingstijd moet korter zijn dan de tijd die nodig is om de tweede buffer volledig te laten zijn opgenomen, anders is de eerste buffer niet opnieuw toegewezen aan het opnameapparaat nadat de tweede buffer vol is, waardoor spraakgegevens verloren gaan. Wanneer de samplefrequentie van het spraaksignaal groot is, kan het op de juiste wijze vergroten van de grootte van de buffer dit probleem effectief oplossen.

    Om de uitgezonden inhoud op te slaan voor later gebruik, is het nodig om de uitgezonden inhoud op te slaan in een WAV-bestand. WAV-bestanden hebben een vast header-formaat. Voordat u spraakgegevens opslaat, moet u de koptekst van het WAV-bestand instellen, anders kan het opgeslagen WAV-bestand niet worden afgespeeld. Elke keer dat de opnamebuffer vol is, zoek eerst het einde van het WAV-bestand en schrijf vervolgens de verzamelde gegevens achtereenvolgens aan het einde van het bestand. Wanneer het hele uitzendproces voorbij is, worden alle spraakgegevens opgeslagen in het WAV-bestand, waardoor de opslag van spraakgegevens wordt gerealiseerd.

    Als een opnamebuffer vol is, is het nodig om de verzamelde spraakgegevens via het netwerk te verzenden. Gebruik in het ontwerp eerst de klasse Csocket om een ​​socket te maken, en hoef vervolgens alleen de verzamelde gegevens in een IP-pakket in te kapselen en te verzenden. De bemonsteringsfrequentie van het spraaksignaal in dit ontwerp is 44.1 kHz, 16-bits tweekanaals. Om het verlies van spraakgegevens te voorkomen, is de grootte van de opnamebuffer ingesteld op 1024B.

    3.2 Realisatie van regionale omroep

    Een belangrijke toepassing van het ethernet digitale spraakomroepsysteem is niet alleen om het hele gebied uit te zenden, maar ook om de lokale omroepfunctie te realiseren, dat wil zeggen om uit te zenden naar de aangewezen terminal. Daarom wordt het UDP-multicast-pakket gebruikt voor datatransmissie bij de netwerktransmissie van spraak-IP-datapakketten. Door multicast-pakketten te gebruiken om gegevens te verzenden, kunnen alle terminals die deel uitmaken van de groep in het lokale netwerk de gegevens ontvangen, waardoor de uitzending van het hele gebied wordt gerealiseerd. Om de lokale uitzendfunctie te realiseren, wordt een structuur toegevoegd vóór de spraakgegevens in het ontwerp, zoals hieronder getoond, en wordt een configuratiebestand gebruikt om het IP-adres van elke terminal van het systeem op te slaan.

    02 Broadcasting-systeem hardware-ontwerp voor broadcast-terminals

    De belangrijkste besturingschip van de uitzendterminal van het uitzendsysteem gebruikt de microcontroller LM3S8962 van LuminaryMicro. Deze serie chips is de eerste ARM CortexTM-M3-gebaseerde controller met een interne geïntegreerde Ethernet-controller. Het is de eerste ARM-chip in de branche die Industrial Ethernet (IEEE) ondersteunt en gemakkelijk netwerkfuncties kan implementeren.

    De audiodecoderchip gebruikt de MS6336-chip geproduceerd door MOSA. De chip is een 16-bits stereo-audio digitaal-naar-analoog-omzetter en de ondersteunde digitale invoerformaten zijn Right Justifl-ed, Left Justified, I2S. MS6336-besturingsinterface gebruikt I2C-bus, de interface is eenvoudig in te stellen. Het DAC-gedeelte heeft een nauwkeurige en stabiele stroom, gecombineerd met een uitstekende symmetrische decoderingsmethode, en kan audiosignalen van hoge kwaliteit reproduceren.

    De hoofdbesturingschip LM3S8962 is via magnetische componenten verbonden met de RJ45-interface en wordt gebruikt om spraakgegevens van Ethernet te ontvangen. LM3S8962 levert besturingssignalen en spraakgegevenssignalen voor de audiodecoderchip MS6336. LM3S8962 ondersteunt de I2C-functie. PB2- en PB3-poorten bieden respectievelijk I2C-klok- en datasignalen. Deze twee pinnen kunnen rechtstreeks worden aangesloten op de I2C-functiepinnen van MS6336, en een pull-up-weerstand is vereist. LM3S8962 biedt geen ondersteuning voor het gegevensinvoerformaat dat vereist is door MS6336. Het gegevensinvoerformaat van MS6336 in het systeem gebruikt I2S. Om spraakgegevens aan MS6336 te leveren, is het daarom nodig om GPIO-poortsoftware van LM3S8962 te gebruiken om het I2S-gegevensinvoerformaat te simuleren dat vereist is door MS6336. In het ontwerp worden PA5-, PA6- en PA7-poorten gebruikt om deze functie te simuleren. De drie pinnen komen overeen met respectievelijk het I2S-kanaalselectiesignaal, kloksignaal en datasignaal. Verbind deze drie pinnen met de I2S-functiepin van MS6336.

    De hardwarestructuur van de afspeelterminal van het Ethernet digitale spraakomroepsysteem wordt getoond in figuur 2.

     

    3 Ontwerp van software voor omroepsystemen

    De omroepsysteemsoftware is verdeeld in twee delen: omroepsysteemserversoftware en omroepterminalsoftware.

    Dit ontwerp realiseert de realtime weergave van spraakgegevens, dus de realtime prestaties van spraakgegevensoverdracht moeten worden gegarandeerd, maar de vereisten voor gegevensintegriteit zijn niet te streng, en een kleine hoeveelheid pakketverlies heeft geen invloed op de algemeen afspeeleffect, dus de spraakgegevens van het systeem De transmissie gebruikt de UDP-transmissiemodus. Tegelijkertijd werkt het systeem in een lokaal netwerk met minder tijdelijke gebruikers. Daarom wordt statische IP-adrestoewijzing aangenomen om de realisatie van de afspeelterminalsoftware te vereenvoudigen.

    3.1 Het verzamelen, opslaan en verzenden van spraakgegevens aan de serverzijde van het omroepsysteem

    Het verzamelen van spraakgegevens wordt geïmplementeerd met behulp van WAVE-audio API-functies op laag niveau. Om het verlies van spraakgegevens niet te veroorzaken, gebruikt het ontwerp dubbele buffering om spraakgegevens op te slaan. Het implementatieproces is weergegeven in Figuur 3.

     

    Wanneer een opnamebuffer vol is, stuurt het systeem onmiddellijk een andere opnamebuffer naar het opnameapparaat om door te gaan met opnemen, en het applicatieprogramma moet de gegevens in de volledige opnamebuffer lezen en verwerken. Roep vervolgens de functie waveInAddBuffer aan om de buffer opnieuw toe te wijzen aan het opnameapparaat voor recycling.

    Om het verlies van spraakgegevens tijdens het opnameproces te voorkomen, is het niet voldoende om simpelweg dubbele buffering te gebruiken. Er moet ook worden opgemerkt dat wanneer een buffer vol is, de toepassing de gegevens in de buffer en de tweede zal verwerken.De buffer wordt gebruikt voor opname en de gegevensverwerkingstijd moet korter zijn dan de tijd die nodig is om de tweede buffer volledig te laten zijn opgenomen, anders is de eerste buffer niet opnieuw toegewezen aan het opnameapparaat nadat de tweede buffer vol is, waardoor spraakgegevens verloren gaan. Wanneer de samplefrequentie van het spraaksignaal groot is, kan het op de juiste wijze vergroten van de grootte van de buffer dit probleem effectief oplossen.

    Om de uitgezonden inhoud op te slaan voor later gebruik, is het nodig om de uitgezonden inhoud op te slaan in een WAV-bestand. WAV-bestanden hebben een vast header-formaat. Voordat u spraakgegevens opslaat, moet u de koptekst van het WAV-bestand instellen, anders kan het opgeslagen WAV-bestand niet worden afgespeeld. Elke keer dat de opnamebuffer vol is, zoek eerst het einde van het WAV-bestand en schrijf vervolgens de verzamelde gegevens achtereenvolgens aan het einde van het bestand. Wanneer het hele uitzendproces voorbij is, worden alle spraakgegevens opgeslagen in het WAV-bestand, waardoor de opslag van spraakgegevens wordt gerealiseerd.

    Als een opnamebuffer vol is, is het nodig om de verzamelde spraakgegevens via het netwerk te verzenden. Gebruik in het ontwerp eerst de klasse Csocket om een ​​socket te maken, en hoef vervolgens alleen de verzamelde gegevens in een IP-pakket in te kapselen en te verzenden. De bemonsteringsfrequentie van het spraaksignaal in dit ontwerp is 44.1 kHz, 16-bits tweekanaals. Om het verlies van spraakgegevens te voorkomen, is de grootte van de opnamebuffer ingesteld op 1024B.

    3.2 Realisatie van regionale omroep

    Een belangrijke toepassing van het ethernet digitale spraakomroepsysteem is niet alleen om het hele gebied uit te zenden, maar ook om de lokale omroepfunctie te realiseren, dat wil zeggen om uit te zenden naar de aangewezen terminal. Daarom wordt het UDP-multicast-pakket gebruikt voor datatransmissie bij de netwerktransmissie van spraak-IP-datapakketten. Door multicast-pakketten te gebruiken om gegevens te verzenden, kunnen alle terminals die deel uitmaken van de groep in het lokale netwerk de gegevens ontvangen, waardoor de uitzending van het hele gebied wordt gerealiseerd. Om de lokale uitzendfunctie te realiseren, wordt een structuur toegevoegd vóór de spraakgegevens in het ontwerp, zoals hieronder getoond, en wordt een configuratiebestand gebruikt om het IP-adres van elke terminal van het systeem op te slaan.

    struct STRING

    {String IPNO1;

    Tekenreeks IPNO2;

    ...

    Tekenreeks IPNO9;

    Tekenreeks IPNO10};

    Als het nodig is om op bepaalde terminals regionale uitzendingen uit te voeren, selecteert u de overeenkomstige nummers van deze terminals op het paneel van de serverzijde van het omroepsysteem (zoals weergegeven in figuur 4). Op dit moment wordt het IP-adres van de geselecteerde terminal gelezen uit het configuratiebestand en toegewezen aan de overeenkomstige variabele in de structuur. Wanneer de terminal een IP-multicast-pakket ontvangt, beoordeelt het eerst of de structuur dezelfde variabele heeft als zijn eigen IP-adres, als dat het geval is, dan worden de gegevens ontvangen en afgespeeld, zo niet, dan worden de gegevens verwijderd, waardoor het gebied wordt gerealiseerd Broadcast functie. Vergeleken met de methode waarbij een stuursignaal wordt gebruikt om de afspeelterminal te besturen om zich bij de multicastgroep aan te sluiten of deze te verlaten, of om dynamisch een complexe mappingtabel bij te houden om de regionale uitzendfunctie te implementeren. Deze methode hoeft de afspeelterminal niet interactief te besturen voor elke uitzending, noch hoeft het de toestand van de terminal dynamisch te volgen. Het hoeft alleen het corresponderende IP-adres van de terminal in het configuratiebestand te schrijven wanneer de terminal voor het eerst op het systeem wordt aangesloten. De functie is eenvoudig te implementeren.

    3.3 De realisatie van software voor uitzendterminals van het omroepsysteem

    De uitzendterminal van het omroepsysteem is verdeeld in twee delen om te realiseren, het ontvangende deel van de audiogegevens wordt gebruikt om de spraakgegevens te ontvangen en op te slaan en door te sturen, en de audiodecoder realiseert de D / A-omzetting en weergave van het spraaksignaal. Het ontvangende gedeelte voor audiogegevens gebruikt Socket-programmering om spraakgegevens van het Ethernet te ontvangen. Na ontvangst van het spraakdatapakket moet het eerst beoordelen of het datapakket voor zichzelf is. De terminal vergelijkt de lidvariabele van de structuurstructuur STRING in het IP-pakket met zijn eigen IP-adres, en als een lidvariabele gelijk is aan zijn eigen IP-adres, slaat het de gegevens op in het pakket, anders verwijdert het deze.

    De spraakgegevens worden ontvangen en opgeslagen in een ronde wachtrij. Vanwege de stoornis van de UDP-datatransmissie, moeten de spraakdatapakketten worden gesorteerd nadat de spraakdata zijn ontvangen aan de ontvangende kant van de spraakdata om de sequentiële verwerking van de spraakdata en het juiste herstelstemsignaal te garanderen. Om tegelijkertijd netwerkjitter te voorkomen, worden de gegevens elke keer verwerkt wanneer er minstens 5 pakketten in de circulaire wachtrij staan.

    Het gegevensinvoerformaat van MS6336 in het ontwerp gebruikt het I2S-formaat. Omdat LM3S8962 dit gegevensformaat niet ondersteunt, wordt softwaresimulatie toegepast om de I2S-functie via de GPIO-poort te realiseren. Om het spraaksignaal volledig te herstellen, is het noodzakelijk ervoor te zorgen dat de timing van het I2S-signaal strikt en nauwkeurig is, en dat de conversie tussen hoge en lage niveaus wordt geïmplementeerd door een vertragingsprogramma. Het I2S-timingdiagram wordt getoond in Figuur 5.

    De klokfrequentie van de uitzendterminal van het omroepsysteem is 40 MHz en de tijd om elk databit te verzenden is 600 ns berekend op basis van de bemonsteringssnelheid. LM3S8962 levert spraakgegevens aan MS6336, en realiseert seriële verzending via GPIO-poort volgens bemonsteringspunt. Elk bemonsteringspunt bevat vier bytes, en het gegevensverzendproces van een bemonsteringspunt wordt getoond in Figuur 6.

    4 Resultaatanalyse

    De grootte van het spraakgegevenspakket dat door het systeem via Ethernet wordt verzonden, is 1024B. Om netwerkjitter te voorkomen, begint de terminal uit te zenden bij ontvangst van 5 datapakketten. De uitzendvertragingstijd is ongeveer 30 ms, wat voldoet aan de functionele indicatoren. De serverkant kan het werk van 10 omroepterminals tegelijkertijd besturen. Door het corresponderende terminalnummer aan de serverzijde te selecteren, kunnen de uitzend- en lokale uitzendfuncties van het omroepsysteem in het hele gebied met succes worden gerealiseerd.

    5 Conclusie

    Uitgaande van de werkelijke behoeften ontwerpen en implementeren we een Ethernet digitaal spraakomroepsysteem. De experimentele resultaten laten zien dat de afspeelterminal van het systeem beslist of spraakuitzendingen worden uitgevoerd om regionale uitzendingen te realiseren, een eenvoudige en effectieve manier is om wereldwijde uitzendingen en regionale uitzendingen van spraaksignalen te realiseren. De systeemspelerterminal gebruikt GPIO-poortsoftwaresimulatie om de I2S-functie te realiseren, die de I2S-timing nauwkeurig kan realiseren, de gegevensoverdracht van het spraaksignaal kan voltooien en de realtime uitzending van het spraaksignaal kan realiseren. De ontwerpstructuur is redelijk en kan gemakkelijk de uitbreiding van functies realiseren, zoals timinguitzending, muziekweergave, beheer op afstand, realtime monitoring, enz. Dit ontwerp heeft een belangrijke praktische betekenis en biedt een basis voor het oplossen van grote en complexe Ethernet-uitzendingen systemen.

     

     

     

     

    Een lijst van alle Question

    Bijnaam

    E-mail

    Contact

    Onze andere producten:

    Professioneel FM-radiostationuitrustingspakket

     



     

    IPTV-oplossing voor hotels

     


      Voer een e-mailadres in om een ​​verrassing te ontvangen

      fmuser.org

      es.fmuser.org
      it.fmuser.org
      fr.fmuser.org
      de.fmuser.org
      af.fmuser.org -> Afrikaans
      sq.fmuser.org -> Albanees
      ar.fmuser.org -> Arabisch
      hy.fmuser.org -> Armenian
      az.fmuser.org -> Azerbeidzjaans
      eu.fmuser.org -> Baskisch
      be.fmuser.org -> Wit-Russisch
      bg.fmuser.org -> Bulgarian
      ca.fmuser.org -> Catalaans
      zh-CN.fmuser.org -> Chinees (vereenvoudigd)
      zh-TW.fmuser.org -> Chinees (traditioneel)
      hr.fmuser.org -> Kroatisch
      cs.fmuser.org -> Tsjechisch
      da.fmuser.org -> Deens
      nl.fmuser.org -> Nederlands
      et.fmuser.org -> Ests
      tl.fmuser.org -> Filipijns
      fi.fmuser.org -> Fins
      fr.fmuser.org -> Frans
      gl.fmuser.org -> Galicisch
      ka.fmuser.org -> Georgisch
      de.fmuser.org -> Duits
      el.fmuser.org -> Greek
      ht.fmuser.org -> Haïtiaans Creools
      iw.fmuser.org -> Hebreeuws
      hi.fmuser.org -> Hindi
      hu.fmuser.org -> Hungarian
      is.fmuser.org -> IJslands
      id.fmuser.org -> Indonesisch
      ga.fmuser.org -> Iers
      it.fmuser.org -> Italian
      ja.fmuser.org -> Japans
      ko.fmuser.org -> Koreaans
      lv.fmuser.org -> Lets
      lt.fmuser.org -> Lithuanian
      mk.fmuser.org -> Macedonisch
      ms.fmuser.org -> Maleis
      mt.fmuser.org -> Maltees
      no.fmuser.org -> Norwegian
      fa.fmuser.org -> Perzisch
      pl.fmuser.org -> Pools
      pt.fmuser.org -> Portugees
      ro.fmuser.org -> Roemeens
      ru.fmuser.org -> Russisch
      sr.fmuser.org -> Servisch
      sk.fmuser.org -> Slowaaks
      sl.fmuser.org -> Slovenian
      es.fmuser.org -> Spaans
      sw.fmuser.org -> Swahili
      sv.fmuser.org -> Zweeds
      th.fmuser.org -> Thai
      tr.fmuser.org -> Turks
      uk.fmuser.org -> Oekraïens
      ur.fmuser.org -> Urdu
      vi.fmuser.org -> Vietnamese
      cy.fmuser.org -> Welsh
      yi.fmuser.org -> Jiddisch

       
  •  

    FMUSER Wirless Verzend video en audio eenvoudiger!

  • Neem contact op

    Adres:
    No.305 Zaal HuiLan Gebouw No.273 Huanpu Road Guangzhou China 510620

    E-mail:
    [e-mail beveiligd]

    Telefoon / WhatApps:
    + 8618078869184

  • Categorieën

  • Nieuwsbrief

    EERSTE OF VOLLEDIGE NAAM

    E-mail

  • paypal oplossing  Western UnionBank of China
    E-mail:[e-mail beveiligd]   WhatsApp: +8618078869184 Skype: sky198710021 Praat met me
    Copyright 2006 2020-Powered By www.fmuser.org

    Ons Contacten