Transfert de son par LAN

Résolu
tictac08 - 8 déc. 2012 à 17:14
 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).

7 réponses

Utilisateur anonyme
8 déc. 2012 à 21:50
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.
3
Utilisateur anonyme
9 déc. 2012 à 16:21
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.
3
Merci de ta réponse si rapide, je vais voir ca de plus près
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
Utilisateur anonyme
12 déc. 2012 à 00:17
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
0
Utilisateur anonyme
12 déc. 2012 à 00:25
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)
0
Rejoignez-nous