Воспроизведение невидимой музыки с помощью пакетного файла?
Я видел потоки 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 к компоновщику.
что я использую: 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-файл, прежде чем пытаться его использовать.