Jump to content
Tom Wellige

Function: GetFilesInFolder

Recommended Posts

This post is taken from the Swyx Forum Archive (2007-2014) and was originally posted 12.08.2010 by me

 

The following function fills a VBScript array with the names of a files in a given folder. The names contain the complete path.

It can be used for example, to get a list of announcement (.wav) files in a folder to play them one after each other. See example code below...

To use the function within your call routing script, just copy&paste it into the "Start" block.

 

'--------------------------------------------------------------
' GetFilesInFolder()
'
' Reads all file names in given folder into a given array
'
' Parameter:
'   Path         [in]  name of path
'   FilesArray   [out] array to store all filenames in
'
' Return:
'   boolean      TRUE  - files found
'                FALSE - no files found
'--------------------------------------------------------------
Function GetFilesInFolder ( Path, ByRef FilesArray )
	PBXScript.OutputTrace "-----------> GetFilesInFolder( " & Path & " )"

	Dim bReturn
	bReturn = False

	Dim fso, folder, files, file
	Set fso = CreateObject("Scripting.FileSystemObject")
	Set folder = fso.GetFolder(Path)
	Set files = folder.files

	Redim FilesArray(0)
	If files.count <> 0 Then
		bReturn = True
		For Each file In files
			Redim Preserve FilesArray(UBound(FilesArray)+1)
			FilesArray(UBound(FilesArray)) = file.path
			PBXScript.OutputTrace CStr(UBound(FilesArray)) & ": " & FilesArray(UBound(FilesArray))
		Next
	End If

	Set fso = Nothing

	GetFilesInFolder = bReturn

	PBXScript.OutputTrace "bReturn = " & bReturn
	PBXScript.OutputTrace "<----------- GetFilesInFolder"
End Function

 

The following example code, which could be placed into an "Insert Script Code" block play all .wav files in a given folder:

Dim Announcements()
Dim i

If GetFilesInFolder("C:\Announcements\", Announcements) Then

	For i = LBound(Announcements) to UBound(Announcements)

		PlaySound Announcements(i)

	Next

End If

 

Share this post


Link to post
Share on other sites

Hallo Tom 

 

Ich probiere gerade dieses Skript einzubauen.

Es sollte falls es eine WAV-Datei im Ordner hat, diese abspielen und wenn nicht normal im Callrouting weiterfahren.

Jedoch bricht es jedesmal diekt beim Anruf ab, was mache ich falsch?

 

Hier mein Code in Start:

 

Function GetFilesInFolder ( Path, ByRef FilesArray )
    PBXScript.OutputTrace "-----------> GetFilesInFolder( " & Path & " )"

    Dim bReturn
    bReturn = False

    Dim fso, folder, files, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(Path)
    Set files = folder.files

    Redim FilesArray(0)
    If files.count <> 0 Then
        bReturn = True
        For Each file In files
            Redim Preserve FilesArray(UBound(FilesArray)+1)
            FilesArray(UBound(FilesArray)) = file.path
            PBXScript.OutputTrace CStr(UBound(FilesArray)) & ": " & FilesArray(UBound(FilesArray))
        Next
    End If

    Set fso = Nothing

    GetFilesInFolder = bReturn

    PBXScript.OutputTrace "bReturn = " & bReturn
    PBXScript.OutputTrace "<----------- GetFilesInFolder"
End Function

 

Hier mein Code im Skript Code Block:

 

dim Path = "C:\Announcements"
dim FilesArray

GetFilesInFolder()

 

Sollte ich die Variabel Path in der Klammer setzen?

 

 

 

2021-11-18 08_39_50-voip01 - Remotedesktopverbindung.png

Share this post


Link to post
Share on other sites

Der Pfad und das Array müssen der Funktion als Parameter übergeben werden. Versuch es mal hiermit:

 

Dim MyPath = "C:\Announcements"
Dim MyFilesArray()
GetFilesInFolder MyPath, MyFilesArray

 

Share this post


Link to post
Share on other sites

Hallo Tom 

 

Danke vielmal für die extrem schnelle Rückmeldung.

Habe den Code Ergänzt und die Funktion auf die Variablennamen angepasst, jedoch bricht der Anruf ab, er sollte aber meine WAV-Datei abspielen.

Irgendwo verbirgt sich noch einen Fehler aber ich weiss nicht wo...

Bin neu in der VBScript Welt...

 

Code im Start:

 

Function GetFilesInFolder ( MyPath, MyFilesArray )
    PBXScript.OutputTrace "-----------> GetFilesInFolder( " & MyPath & " )"

    Dim bReturn
    bReturn = False

    Dim fso, folder, files, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(MyPath)
    Set files = folder.files

    Redim MyFilesArray(0)
    If files.count <> 0 Then
        Set bReturn = True
        For Each file In files
            Redim Preserve MyFilesArray(UBound(MyFilesArray)+1)
            MyFilesArray(UBound(FilesArray)) = file.path
            PBXScript.OutputTrace CStr(UBound(MyFilesArray)) & ": " & MyFilesArray(UBound(MyFilesArray))
        Next
    End If

    Set fso = Nothing

    GetFilesInFolder = bReturn

    PBXScript.OutputTrace "bReturn = " & bReturn
    PBXScript.OutputTrace "<----------- GetFilesInFolder"
End Function

 

 

 

Edited by Nicola Zimmermann
Code angehängt

Share this post


Link to post
Share on other sites

Wenn das Tracing ausgeschaltet ist, dann wird auch keine Datei erzeugt, egal welche Server Komponente etwas tracen möchte.

 

Mit dem Swyx Trace Tool kannst Du das Standard Tracing wieder einschalten:

 

image.png

 

 

Share this post


Link to post
Share on other sites

Hallo Tom 

 

Ich konnte nun die Logs schreiben und auslesen. 

Es sieht so aus, dass alles funktioniert nur die WAV spielt es nicht ab.

Bei PlaySound hat es meine WAV-Datei Inkl Pfad, jedoch bricht es dann den Call ab.

 

    Line 25:     Line 475:     Line 46907: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () Begin GSE Script (Rule: ruleARLBenutzerv20200703)
    Line 26:     Line 476:     Line 46908: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () GSEVersion: 12.20.0.6
    Line 27:     Line 477:     Line 46909: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 ()   case [Start0]
    Line 28:     Line 478:     Line 46910: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> gseStart()
    Line 29:     Line 479:     Line 46911: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- gseStart, rc = 1 [gseStateStarted]
    Line 30:     Line 480:     Line 46912: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 ()   case [Call11]
    Line 31:     Line 481:     Line 46913: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> ExternalCall()
    Line 32:     Line 483:     Line 46915: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- ExternalCall, rc = False [Unknown]
    Line 33:     Line 484:     Line 46916: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> gseCalls(False)
    Line 34:     Line 485:     Line 46917: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- gseCalls, rc = 3 [gseStateFalse]
    Line 35:     Line 487:     Line 46919: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 ()   case [InsertScript15]
    Line 36:     Line 488:     Line 46920: 18 14:32:05.556 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () -----------> GetFilesInFolder( C:\Announcements\ )
    Line 37:     Line 489:     Line 46921: 18 14:32:05.557 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () 1: C:\Announcements\Ansage_Weihnachten_3_Januar.wav
    Line 38:     Line 490:     Line 46922: 18 14:32:05.557 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () bReturn = True
    Line 39:     Line 491:     Line 46923: 18 14:32:05.557 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <----------- GetFilesInFolder
    Line 40:     Line 492:     Line 46924: 18 14:32:05.557 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> PlaySound()
    Line 41:     Line 568:     Line 47378: 18 14:32:07.561 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- PlaySound
    Line 42:     Line 572:     Line 47382: 18 14:32:07.562 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> PlaySound(C:\Announcements\Ansage_Weihnachten_3_Januar.wav)
    Line 43:     Line 602:     Line 47415: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- PlaySound
    Line 44:     Line 610:     Line 47423: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 ()   case [Disconnect3]
    Line 45:     Line 613:     Line 47426: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 ()   case [End1]
    Line 46:     Line 616:     Line 47429: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () Rule result: True
    Line 47:     Line 620:     Line 47433: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () End GSE Script (Rule: ruleARLBenutzerv20200703)
    Line 48:     Line 623:     Line 47436: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () --> PostProcessingEx2()
    Line 49:     Line 625:     Line 47438: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () PostProcessingEx2, bSkipNextRules = True
    Line 50:     Line 628:     Line 47441: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () User-defined PostProcessing (dummy)
    Line 51:     Line 630:     Line 47443: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () PostProcessing Skipped...
    Line 52:     Line 632:     Line 47445: 18 14:32:07.564 0143ec Info SrvScript  076AB6E8 00002556 SPBXScript::OutputTrace                 () <-- PostProcessingEx2()

 

Share this post


Link to post
Share on other sites

Ja die Datei ist 16-Bit PCM Mono.

Wir hatten sie schonmal im Einsatz und haben immer noch welche im Einsatz.

An der Datei wirds nicht liegen, ausser man muss ein anderes Format des Scriptes wegen nutzen...

Der Code stimmt nicht, aber finde den Fehler nicht wirklich...

Was bedeutet case [Disconnect3] ? 

Edited by Nicola Zimmermann
Code angehängt

Share this post


Link to post
Share on other sites

Hallo Zusammen 

Ich habe nun noch ein paar Stunden darin investiert und ich kahm auf keine Lösung.

Vielleicht seht ihr noch irgend etwas...

Falls nicht werde ich dies mittels einem Dummy User bewerkstelligen.

 

Code im Start Block:

 

'--------------------------------------------------------------
' GetFilesInFolder()
'
' Reads all file names in given folder into a given array
'
' Parameter:
'   Path         [in]  name of path
'   FilesArray   [out] array to store all filenames in
'
' Return:
'   boolean      TRUE  - files found
'                FALSE - no files found
'--------------------------------------------------------------
Function GetFilesInFolder ( Path, FilesArray )
    PBXScript.OutputTrace "-----------> GetFilesInFolder( " & Path & " )"

    Dim bReturn
    bReturn = False
    Path = "C:\Announcements\"

    Dim fso, folder, files, file
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(Path)
    Set files = folder.files

    Redim FilesArray(0)
    If files.count <> 0 Then
        bReturn = True
        For Each file In files
            Redim Preserve FilesArray(UBound(FilesArray)+1)
            FilesArray(UBound(FilesArray)) = file.path
            PBXScript.OutputTrace CStr(UBound(FilesArray)) & ": " & FilesArray(UBound(FilesArray))
        Next
    End If

    Set fso = Nothing

    GetFilesInFolder = bReturn

    PBXScript.OutputTrace "bReturn = " & bReturn
    PBXScript.OutputTrace "<----------- GetFilesInFolder"
End Function

 

Code im VBScript Block:

 

Dim Announcements()
Dim i

If GetFilesInFolder("C:\Announcements\", Announcements) Then

    For i = LBound(Announcements) to UBound(Announcements)

        PlaySound Announcements(i)

    Next

End If

 

Meines Erachtens ist die doppelte Abdeckung nicht nötig und man könnte auch nur den VBScript Block einfügen, da der Startblock ja nur ein Array füllt welches ich gar nicht verwende.

 

Loggfile:

 

93: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () Begin GSE Script (Rule: ruleVBScript)
    Line 477:     Line 107394: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () GSEVersion: 12.20.0.6
    Line 478:     Line 107395: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 ()   case [Start0]
    Line 479:     Line 107396: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> gseStart()
    Line 480:     Line 107397: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- gseStart, rc = 1 [gseStateStarted]
    Line 481:     Line 107398: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 ()   case [Call11]
    Line 482:     Line 107399: 22 15:06:50.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> ExternalCall()
    Line 484:     Line 107401: 22 15:06:50.342 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- ExternalCall, rc = False [Unknown]
    Line 485:     Line 107402: 22 15:06:50.342 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> gseCalls(False)
    Line 486:     Line 107403: 22 15:06:50.342 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- gseCalls, rc = 3 [gseStateFalse]
    Line 488:     Line 107405: 22 15:06:50.342 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 ()   case [InsertScript15]
    Line 489:     Line 107406: 22 15:06:50.342 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () -----------> GetFilesInFolder( C:\Announcements\ )
    Line 490:     Line 107407: 22 15:06:50.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () 1: C:\Announcements\Ansage_Weihnachten_3_Januar.wav
    Line 491:     Line 107408: 22 15:06:50.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () bReturn = True
    Line 492:     Line 107409: 22 15:06:50.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <----------- GetFilesInFolder
    Line 493:     Line 107410: 22 15:06:50.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> PlaySound()
    Line 568:     Line 107876: 22 15:06:52.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- PlaySound
    Line 570:     Line 107878: 22 15:06:52.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> PlaySound(C:\Announcements\Ansage_Weihnachten_3_Januar.wav)
    Line 606:     Line 107917: 22 15:06:52.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- PlaySound
    Line 616:     Line 107927: 22 15:06:52.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 ()   case [Disconnect3]
    Line 622:     Line 107933: 22 15:06:52.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 ()   case [End1]
    Line 631:     Line 107942: 22 15:06:52.343 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () Rule result: True
    Line 637:     Line 107948: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () End GSE Script (Rule: ruleVBScript)
    Line 643:     Line 107954: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> PostProcessingEx2()
    Line 648:     Line 107959: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () PostProcessingEx2, bSkipNextRules = True
    Line 652:     Line 107963: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () User-defined PostProcessing (dummy)
    Line 657:     Line 107968: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () PostProcessing Skipped...
    Line 661:     Line 107972: 22 15:06:52.344 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () <-- PostProcessingEx2()

 

Danke schon im Voraus für die Hilfestellung

 

Liebe Grüsse

Nicola Zimmermann

Share this post


Link to post
Share on other sites

Schau mal ohne den letzten Filter auf "SrvScript" ob Du im Tracefile Hinweise findest, warum der Ruf abgebaut wurde. Der letzte Filter schränkt die Sicht auf das Trace ja auf nur "Call Routing" ein.

Das Problem sollte nach folgender Tracezeile auftauchen:

 

Line 570:     Line 107878: 22 15:06:52.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> PlaySound(C:\Announcements\Ansage_Weihnachten_3_Januar.wav)

 

 

Share this post


Link to post
Share on other sites

Hallo Tom, Danke für den Tipp.

 

    Line 107878: 22 15:06:52.341 00f158 Info SrvScript  06521FF0 000028af SPBXScript::OutputTrace                 () --> PlaySound(C:\Announcements\Ansage_Weihnachten_3_Januar.wav)
    Line 107879: 22 15:06:52.341 00e3bc Info SrvPBXCtl  0BE46D10 000028af SPBXCallFSM::TraceTransition            () B1-A Ringing --SetScriptConnectTime--> Ringing (Result: 0)
    Line 107880: 22 15:06:52.341 0061f8 Inf2 SrvPBXCtl  076CA628 000028af SPBXCallFSM::ActionOnScriptConnectTime  () B1
    Line 107881: 22 15:06:52.341 00f158 Info SrvPBXCtl  0FA760D8 000028af SScrServer::CallPlayMessageReq          (C:\Announcements\Ansage_Weihnachten_3_Januar.wav, skip first 0 secs of message, YES,0,)
    Line 107882: 22 15:06:52.341 0061f8 Inf2 SrvPBXCtl  0BD37960 000028af SPBXCallHub::EventScriptConnectTime     (0F8C5CB0, Mon, 22 Nov 2021 15:06:52 +0100)
    Line 107883: 22 15:06:52.341 00f158 Inf2 SrvPBXCtl  0FA760D8 000028af SScrServer::EventPlayMessage            ()
    Line 107884: 22 15:06:52.341 0061f8 Info SrvPBXCtl  076CA628 000028af SPBXCallFSM::TraceTransition            () B1 Alerting --ScriptConnectTime--> Alerting (Result: 0)
    Line 107885: 22 15:06:52.341 013bc8 Inf2 SrvPBXCtl  0769EB88 000028af SScriptFsm::ActionOnPlayMessage         ()
    Line 107886: 22 15:06:52.341 002fac Inf2 SrvPBXCtl  0C2975E8 000028af SPBXCallHubFSM::ActOnScriptConnectTime  ()
    Line 107887: 22 15:06:52.341 002fac Info SrvPBXCtl  0C2975E8 000028af SPBXCallHubFSM::TraceTransition         () Alerting --ScriptConnectTime--> Alerting (Result: 0)
    Line 107889: 22 15:06:52.341 013bc8 Inf3 SrvPBXCtl  0FA760D8 000028af SPBXCallHub::GetMediaFileFromCDS        (C:\Announcements\Ansage_Weihnachten_3_Januar.wav) -> local: C:\Announcements\Ansage_Weihnachten_3_Januar.wav
    Line 107892: 22 15:06:52.342 013bc8 Inf3 SrvWavCmpr 0487C5D0 000028af SAFCompr::DecompressFile                (C:\Announcements\Ansage_Weihnachten_3_Januar.wav) no decompression needed, size in bytes: 1231854
    Line 107893: 22 15:06:52.342 013bc8 Info SrvPBXCtl  0FA760D8 000028af SPBXCallHub::PlayTone                   (C:\Announcements\Ansage_Weihnachten_3_Januar.wav, user scope 578, do not connect A, connected U:0 , skip 0 seconds, connected addr: <empty>, 0, 00000000)
    Line 107894: 22 15:06:52.342 013bc8 Info MediaMgr   0BD797A8 000028af SMediaMgr::ChangePlayMedia              (file: C:\Announcements\Ansage_Weihnachten_3_Januar.wav, user scope 578, skip 0 seconds, 0 reps, pause 0s)
    Line 107895: 22 15:06:52.342 013bc8 *Err MediaMgr   0BD797A8 000028af SMediaMgr::ChangePlayMedia              (file: C:\Announcements\Ansage_Weihnachten_3_Januar.wav, userID: 578) NO peer media set
    Line 107896: 22 15:06:52.342 013bc8 *Err SrvPBXCtl  0FA760D8 000028af SPBXCallHub::PlayTone                   () ChangePlayMedia() failed with MediaFormatUnknown
    Line 107897: 22 15:06:52.342 013bc8 *Err SrvPBXCtl  0769EB88 000028af SScriptFsm::ActionOnPlayMessage         () playing tone failed => aborting call

 

Ich glaube es liegt wirklich am File .... oder interpretiere ich das falsch?

Share this post


Link to post
Share on other sites

Hallo Tom

 

Ich habe nun alle WAV Formate, welche für eine Telefonansage zutreffen durchprobiert.

 

image.png.5419a4abacbf655478fa7f420ddd882b.png

Keines der Oben gesehenen Formate will sich abspielen lassen und es bringen alle (Ausser MP3) den selben Fehler.

 Line 107895: 22 15:06:52.342 013bc8 *Err MediaMgr   0BD797A8 000028af SMediaMgr::ChangePlayMedia              (file: C:\Announcements\Ansage_Weihnachten_3_Januar.wav, userID: 578) NO peer media set
    Line 107896: 22 15:06:52.342 013bc8 *Err SrvPBXCtl  0FA760D8 000028af SPBXCallHub::PlayTone                   () ChangePlayMedia() failed with MediaFormatUnknown

 

Ich bin mit meinem Latein am Ende....

Muss vielleicht ein Mediaplayer installiert sein auf dem Server? 

 

Share this post


Link to post
Share on other sites

Hallo Nicola,

 

das Format der WAV Dateien muss 16KHz, 8bit, Mono (siehe weiter unten!) sein. Ich habe gerade gesehen, dass Markus weiter oben etwas falsches geschrieben hatte, was mir beim Überfliegen nicht aufgefallen war.

 

Es ist nicht notwendig, einen zusätzlichen Mediaplayer zu installieren. 

 

Share this post


Link to post
Share on other sites

Wie heisst es so schön: ich nehme alles zurück in behaupte das Gegenteil! ;) 

 

Du hast vollkommen Recht, Markus. Irgendwie haben sich die 8bit fälschlich in mein Gedächtnis gebrannt. Das richtige Format ist: 16kHz, 16bit, PCM, mono

 

Sollte das Format 8bit sein, würde der Server die Datei aber auf alle Fälle trotzdem lesen und dann passend transcodieren. Da muss also etwas anderes noch faul sein.

 

Nicola, häng doch bitte mal eine WAV Datei mit an Deinen nächsten Post. 

 

 

On 11/22/2021 at 5:24 PM, Nicola Zimmermann said:

Meines Erachtens ist die doppelte Abdeckung nicht nötig und man könnte auch nur den VBScript Block einfügen, da der Startblock ja nur ein Array füllt welches ich gar nicht verwende.

 

Die Funktion selbst gehört in den "Start" Block. Ihr Aufruf kann dann in einem "Skript Code einfügen" Block geschehen. Da wird in dem Code den Du am 22. gepostet hast, nichts doppelt abgedeckt. Die Funktion "GetFilesInFolder" liefert Dir ein Array zurück, und der Code im "Skript Code einfügen" Block spielt dann alle gefundenen WAV Dateien der Reihe nach ab. 

 

Wenn sich der Name der WAV nicht ändert, brauchst Du den ganzen Aufwand über "GetFilesInFolder" aber gar nicht. Dann kann Du die Ansage auch direkt über einen "Ansage spielen" Block abspielen lassen (und von dort auch in die SwyxWare hochladen), so dass sie dort zur Verfügung steht.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and have taken note of our Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.