Воспроизведение невидимой музыки с помощью пакетного файла?

Я видел потоки cfew, которые говорят, как играть музыку с минимизированной игрой, когда она начинается с start /min, а также тот, который создает сценарий VBS для запуска минимизированного звука. Но независимо от того, каким образом я пытаюсь свести звук к минимуму, он появляется на экране.

кроме того, если я попробую start /min или start /max я получу тот же результат.

кто-нибудь знает как я могу сделать что-то, чтобы начать к минимуму?

11 ответов


@echo off
set "file=track12.mp3"
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
  echo Sound.URL = "%file%"
  echo Sound.Controls.play
  echo do while Sound.currentmedia.duration = 0
  echo wscript.sleep 100
  echo loop
  echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs
start /min sound.vbs

просто изменить track12.mp3 С именем вашего аудиофайла


это копия / вставка из другого ответа (также мной), который включал это как возможный ответ на один из пунктов (воспроизведение wav-файла без видимого приложения) вопроса.

для части звука игры, насколько я знаю, нет пути прямое воспроизведение пользовательского wav из командной строки без нереста другой процесс. Обычные инструменты-vlc, wmplayer, файл vbs инстансы в wmplayer ОСХ, диктофон, в PowerShell, ... Все это опции описанные в предыдущих вопросах (только первый) здесь в stackoverflow или здесь в суперпользователя.

расширение одной из альтернатив, если у вас есть доступ к некоторым C компилятор (протестирован с mingw) этот код создаст консольный инструмент это вызывает PlaySound функция API, передающая первый аргумент как файл для воспроизведения.

#include <windows.h>
int main(int argc, char **argv)
{
    if (argc < 2) return 1;
    if (!PlaySound( 
            argv[1], 
            NULL, 
            SND_FILENAME | SND_NODEFAULT | SND_SYNC
       )
    ) return 2;
    return 0;
}

в зависимости от вашей конфигурации вам нужно будет включить ссылку в библиотеку Winmm к компоновщику.


CreateObject("Wscript.Shell").Run "wmplayer /play /close ""Your file location here""", 0, False

что я использую: VLC (скачать бесплатно) для Windows. Работает от XP до 10.

использовать

"c:\Program Files (x86)\videolan\vlc\vlc.exe" --qt-start-minimized --play-and-exit 
"c:\Program Files (x86)\videolan\vlc\Windows Exclamation.wav"

пути и цитаты только в качестве примера; мясо

vlc --qt-start-minimized --play-and-exit soundFilename

очевидно, очень поздно для задающего вопрос, но кто знает? Кто-нибудь еще может заглянуть. Поэтому я просто повторю ответ Тони БД от апреля ' 14, и поскольку кто-то жаловался, что это кодовый ответ, я добавлю небольшое объяснение, и действительно очень мало требуется.

1.) Откройте Блокнот Windows

2.) Скопируйте код Тони BD в блокнот

3.) Замените "ваше местоположение файла здесь" полным путем к музыкальному файлу, который вы хотите играть.

4.) В меню Блокнот выберите Файл / Сохранить как . .

5.) Выберите местоположение и дайте файлу имя, но убедитесь, что вместо стандартного .txt тип файла вы даете ему .окончание vbs.

6.) Закрыть Блокнот

7.) Нажмите на файл vbs, который вы только что сделали, и ваш музыкальный файл начнет воспроизводиться, не показывая абсолютно ничего на экране.

параметр 0 в коде позволяет WMP открываться в невидимом окне. Если вы измените 0 на a 1 вы увидите графический интерфейс WMP.

очевидно, что это доступно только для пользователей Windows, но для них это лучшее и простое решение проблемы.


Если вы можете использовать стороннюю утилиту, то wv_player - Это бесплатный медиаплеер с простым графическим интерфейсом и переключателями командной строки для воспроизведения медиафайлов без интерфейса.


наиболее предлагаемым является MediaPlayer или relative объект ActiveX . Это может быть проблемой для людей без установленного MediaPlayer (например, Windows XP требуется подлинная аутентификация для его установки), и он может действовать по-разному на разных версиях windows (например, на некоторых версиях windows автоматическое закрытие не работает должным образом). вот моя реализация (не создавая временные файлы).Пример:

call mediaRunner.bat "C:\Windows\Media\Ring05.wav"

на каждой машине windows там установлены SP ActiveX объекты, которые способны работать .wav файлы (без mp3 и так далее). Вот!--13-->один скрипт.Expample:

call spPlayer.bat "C:\Windows\Media\Ring05.wav"

и у нас есть также HTA / InternetExplorer приложений и их bgsound тег.что также позволяет контролировать громкость воспроизводимой песни:

call htaplayer.bat "C:\Windows\Media\Ring05.wav" -1000

Пакетный Музыкальный Плеер.летучая мышь!--3-->

@echo off
setlocal enabledelayedexpansion
Set vbsfile=%temp%\Intro.vbs
Set URL=http://hackoo.alwaysdata.net/Intro_DJ.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
Set MyFile=%~f0
Set ShorcutName=DJ Batch Music Player
(
echo Call Shortcut("%MyFile%","%ShorcutName%"^)
echo ^'**********************************************************************************************^)
echo Sub Shortcut(CheminApplication,Nom^)
echo    Dim objShell,DesktopPath,objShortCut,MyTab
echo    Set objShell = CreateObject("WScript.Shell"^)
echo    MyTab = Split(CheminApplication,"\"^)
echo    If Nom = "" Then
echo    Nom = MyTab(UBound(MyTab^)^)
echo    End if
echo    DesktopPath = objShell.SpecialFolders("Desktop"^)
echo    Set objShortCut = objShell.CreateShortcut(DesktopPath ^& "\" ^& Nom ^& ".lnk"^)
echo    objShortCut.TargetPath = Dblquote(CheminApplication^)
echo    ObjShortCut.IconLocation = "Winver.exe,0"
echo    objShortCut.Save
echo End Sub
echo ^'**********************************************************************************************
echo ^'Fonction pour ajouter les doubles quotes dans une variable
echo Function DblQuote(Str^)
echo    DblQuote = Chr(34^) ^& Str ^& Chr(34^)
echo End Function
echo ^'**********************************************************************************************
) > %temp%\Shortcutme.vbs
Start /Wait %temp%\Shortcutme.vbs
Del %temp%\Shortcutme.vbs
::****************************************************************************************************
Title DJ Batch Music Player by Hackoo 2015
:menuLOOP
Color 0A & Mode con cols=78 lines=25
echo(
echo        ===============================================================
echo        "/  |  /  |                    /  |                          ";
echo        "$$ |  $$ |  ______    _______ $$ |   __   ______    ______  ";
echo        "$$ |__$$ | /      \  /       |$$ |  /  | /      \  /      \ ";
echo        "$$    $$ | $$$$$$  |/$$$$$$$/ $$ |_/$$/ /$$$$$$  |/$$$$$$  |";
echo        "$$$$$$$$ | /    $$ |$$ |      $$   $$<  $$ |  $$ |$$ |  $$ |";
echo        "$$ |  $$ |/$$$$$$$ |$$ \_____ $$$$$$  \ $$ \__$$ |$$ \__$$ |";
echo        "$$ |  $$ |$$    $$ |$$       |$$ | $$  |$$    $$/ $$    $$/ ";
echo        "$$/   $$/  $$$$$$$/  $$$$$$$/ $$/   $$/  $$$$$$/   $$$$$$/  ";
echo        "                                                            ";
echo        "                                                            ";
echo(       =============================Menu==============================
echo(
for /f "tokens=2* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do echo                         %%A  %%B
echo(
echo(       ===============================================================
set choice=
echo( & set /p choice=Make a choice or hit ENTER to quit: || GOTO :EOF
echo( & call :menu_[%choice%]
GOTO:menuLOOP
::********************************************************************************************
:menu_[1] Play DJ Buzz Radio
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching DJ Buzz Radio ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\DJBuzzRadio.vbs
Set URL=http://www.chocradios.ch/djbuzzradio_windows.mp3.asx
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[2] Play David Guetta Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching David Guetta Mix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\David_Guetta_Miami.vbs
Set URL=http://hackoo.alwaysdata.net/David_Guetta_Miami_2014.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[3] Play Ibiza Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Ibiza Mix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL=http://hackoo.alwaysdata.net/IbizaMix.mp3
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[4] Play Avicii Mega Mix
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Avicii Megamix ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL="http://hackoo.alwaysdata.net/Best of Avicii Megamix 2014.mp3"
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[5] Play Mega Mix 90
cls & color 0A
Call:SkipLine 10
Call:Tab 3
echo %x% Please Wait for a while .. Launching Mega Mix 90 ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
Set vbsfile=%temp%\IbizaMix.vbs
Set URL="http://hackoo.alwaysdata.net/Megamix 90.mp3"
Call:Play %URL% %vbsfile%
Start %vbsfile%
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:menu_[6] Stop the music
cls & color 0C
Call:SkipLine 10
Call:Tab 3
echo  %x% Please Wait for a while .. Stopping the music ...
Taskkill /IM "wscript.exe" /F >nul 2>&1
TimeOut /T 1 /NoBreak>nul
GOTO:menuLOOP
::********************************************************************************************
:Play
(
echo Play "%~1"
echo Sub Play(URL^)
echo    Dim Sound
echo    Set Sound = CreateObject("WMPlayer.OCX"^)
echo    Sound.URL = URL
echo    Sound.settings.volume = 100
echo    Sound.Controls.play
echo    do while Sound.currentmedia.duration = 0
echo        wscript.sleep 100
echo    loop
echo    wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
echo End Sub
)>%~2
::*********************************************************************************************
:Tab
set "x="
For /L %%I In (1,1,%1) Do Set "x=!x!    "
REM                                  ^-- this is a TAB
goto :eof
::*********************************************************************************************
:SkipLine
    For /L %%I In (1,1,%1) Do Echo(
    Goto:Eof
:EOF
EXIT
::********************************************************************************************* 

просто используйте эхолот.exe

пример вашей командной строки будет Sounder MyWaveFile.WAV и

получить его от

http://www.elifulkerson.com/projects/commandline-wav-player.php


для mac это так. . .

afplay (your music file name here)

Примечание: он должен быть в папке iTunes в iTunes music.


я наткнулся на эту тему вчера, когда я исследовал проблему, которую я имел с решением, предложенным в другой теме, потому что он оставил проигрыватель Windows Media открытым. Начиная с кода C, предоставленного MC ND, я собрал немного более полированную и современную (широкую символьную) версию, которую я только что опубликовал под лицензией BSD из трех пунктов на GitHub

все, что вам действительно нужно запустить, находится в SoundOff_Binary.ZIP, который вы можете скачать независимо. Если вы хотите, чтобы источник тоже, пожалуйста, не стесняйтесь клонировать репозиторий на локальный git. Если вы это сделаете, пожалуйста, найдите время, чтобы прочитать README.md-файл, прежде чем пытаться его использовать.