Transfert de son par LAN [Résolu]

- - Dernière réponse :  Utilisateur anonyme - 12 déc. 2012 à 00:25
Bonjours tout le monde

Alors j'expose mon problème :

Je voudrais faire un logiciel permettant le transfert en direct de son (de la carte son, pas de microphone !) par LAN et pouvoir avoir une messagerie instantanée pour commenter les musiques et son qu'on entend.

Pour la partie Messagerie Instantanée, je me suis renseigné et j'ai vu qu'il fallait utiliser le protocole TCP/IP mais pour le son je sais pas du tout comment m'y prendre .

Merci d'avance à ceux qui pourrait m'aider (étant donner que je suis un débutant dès que ça touche le réseau).
Afficher la suite 

7 réponses

Meilleure réponse
3
Merci
Bonjour,

Interresse toi à l'API Bass.NET (gratuit pour une utilisation non commerciale) qui est parfaitement adapté pour ce que tu veux faire.
Par contre, l'ensemble de la documentation est en anglais.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
Voici le lien direct de téléchargement. Tu devras exécuter le setup ensuite.

Pour lister le reseau, fais une recherche des différentes sources disponibles sur le site.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 198 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
Merci de ta réponse si rapide, je vais voir ca de plus près
Commenter la réponse de tictac08
0
Merci
Quand j'essaye de charger la dll, il m'affiche un message d'erreur :

'C:\Documents and settings...' n'est pas un module Microsoft.NET.

n'est-ce donc pas possible ?

P.S : J'ai aussi du mal a lister les ordinateurs de mon reseau dans une checklistbox .

Je sais, j'en demande beaucoup mais comme je l'ai dis
je suis un débutant dès que ça touche le réseau
Commenter la réponse de tictac08
0
Merci
Merci beaucoup, ce coup ci ca marche

Je vais essayer d'utiliser ca dans mon project, car VB m'a demander de convertir leur projet et du coup, le débogage ne marche pas parfaitement


Malgrès que ca soit dur à comprendre, je vais essayer de me debrouiller

Liste des ordinateur de réseau : J'ai cherché, j'ai trouvé mais dans la checkedlistbox1, il y a qu'un seul item qui s'affiche, et qui est "(collection)". Je vais voir ou est le probleme. (j'utilise un module)

Bass.net : Sans commentaire

Messagerie Instantanée : J'ai trouvé quelque source.


Je reposterais, si jamais j'ai un probleme ou si j'ai trouver


En tout cas un grand merci a toi banana32
Commenter la réponse de tictac08
0
Merci
Voici un exemple utilisant BASS.NET et permettant d'enregistrer tous les sons provenant de la carte son. Le résultat est encodé en mp3.

Pour tester cet exemple, il faut lame.exe (on le trouve partout sur le net)
L'API BASS.NET (voir lien plus haut) Faire une référence dans les propriétés du projet.
La librairie bassenc.dll (disponible sur le site cité plus haut)
La librairie bass.dll (disponible sur le site cité plus haut)

Et le code ci dessous :
Option Strict On
Imports Un4seen
Imports Un4seen.Bass
Imports Un4seen.Bass.Bass
Imports Un4seen.Bass.AddOn.Enc.BassEnc
Imports Un4seen.Bass.AddOn.Enc

Public Class Form1
    Dim _devrec, _rechandle, _enchandle As Integer
    Dim _recproc As RECORDPROC

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim DeviceInfos() As BASS_DEVICEINFO

        'recuperation de l'enregistreur
        DeviceInfos = BASS_RecordGetDeviceInfos()
        For x = 0 To DeviceInfos.Length - 1
            If DeviceInfos(x).IsDefault = True Then
                _devrec = x
                Exit For
             End If
        Next

        'paramétrage buffer (bass.dll doit être présent)
        Dim res As Boolean
        BASS_Start()
        res = BASS_SetConfig(BASSConfig.BASS_CONFIG_UPDATEPERIOD, 20)
        res = BASS_SetConfig(BASSConfig.BASS_CONFIG_REC_BUFFER, 10)

        'initialisation du périphérique enregistreur
        res = BASS_Init(_DevRec, 48000, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero)
        res = BASS_RecordInit(_DevRec)
        res = BASS_RecordSetDevice(_devrec)

        'debut enregistrement
        _recProc = Nothing
        _recProc = New RECORDPROC(AddressOf MyEncProc)
        _recHandle = BASS_RecordStart(48000, 2, 0, _recProc, IntPtr.Zero)

        'encodage en mp3 (lame.exe et bassenc.dll doivent être présent)
        _enchandle = BASS_Encode_Start(_rechandle, "lame --alt-preset standard - " & _
                     """" & "test.mp3" & """", BASSEncode.BASS_ENCODE_DEFAULT, Nothing, IntPtr.Zero)

    End Sub

    Private Function MyEncProc(ByVal handle As Integer, ByVal buffer As IntPtr, ByVal length As Integer, ByVal user As IntPtr) As Boolean
        Dim Level As Integer = BASS_ChannelGetLevel(_recHandle)
        Dim L As Integer = CType(Utils.LowWord32(Level), Integer)
        Dim R As Integer = CType(Utils.HighWord32(Level), Integer)
        'faire ici quelque chose avec le volume (détection debut et fin de son par exemple)
        '...
        Return True
    End Function
End Class
Commenter la réponse de Utilisateur anonyme
0
Merci
Petit ajout pour enregistrer la carte son en WAV directement :
_encHandle = BASS_Encode_Start(_RecHandle,"test.wav", BASSEncode.BASS_ENCODE_PCM Or BASSEncode.BASS_ENCODE_FP_24BIT Or BASSEncode.BASS_ENCODE_AUTOFREE, Nothing, IntPtr.Zero)
Commenter la réponse de Utilisateur anonyme