Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Administrator

#16
Hello Terry,

yes, this is possible with our DJ Studio components: take a look into the WasapiMixAndClone sample project, installed by our setup program, which shows how to attach an input device to the internal stream mixer and to send the result to a streaming server.

Hope this helps.

Kind regards

Severino Delaurenti
MultiMedia Soft
#17
Hi Terry,

this issue should have been fixed inside the latest build 14.4.2.1 of the multimedia engines AdjMmsEng.dll and AdjMmsEng64.dll.

You can update your installation by uninstalling the current version and by downloading the latest setup package available on our website.

Hope this helps.

Kind regards

Severino Delaurenti
MultiMedia Soft

#18
Hello,

stopping the playlist causes the stop of the currently playing song so the SoundStopped event is raised.

Kind regards

Severino Delaurenti
MultiMedia Soft
#19
Hello,
you are welcome ;D

Kind regards

Severino Delaurenti
MultiMedia Soft

#20
Hello,

the main error is caused by the fact that you are not passing the correct file pathname to the PlayListAddItem method. Try to change the following code

    For Each file As String In Directory.GetFiles(m_strInputPathname)
          err = m_audioAPI.PlayListAddItem(0, m_strInputPathname, 0)
          Console.WriteLine("{0} {1}", file, err.ToString)
    Next

with the following code:

    For Each file As String In Directory.GetFiles(m_strInputPathname)
          err = m_audioAPI.PlayListAddItem(0, file, 0)
          Console.WriteLine("{0} {1}", file, err.ToString)
    Next

Another problem is the fact that you set the following code inside the handler of the enumPlayerEvents.EV_SOUND_DONE event, causing the playlist being stopped after the first song

m_bSoundDone = True
please, move that line inside the handler of the enumPlayerEvents.EV_PLAYLIST_DONE event instead.


Another important point: The original source code of the Visual Basic.NET version of the PlayerCmdLine project (so also your code) contains the following line:

    Thread.Sleep(50)
Be sure to replace this line with the following one or your application may experience several malfunctions

    m_audioAPI.ConsoleWait(50)

Hope this helps.

Severino Delaurenti
#21
Hello, you are welcome.

In this case unfortunately no specific event is available but you may obtain the total duration by applying a couple of arithmetic operations:

- in "Insert" mode you can simply add the duration of the previous session, which can be obtained through the RecordedSound.GetDuration method, to the duration of the current session as reported by the RecordingDuration event

- in "overwrite" mode is a bit more tricky because you need to keep count of the overwrite position and add to this position the duration of the current session as reported by the RecordingDuration event:

   a) if the result of this sum is smaller than the duration of the previous session, which can be obtained through the RecordedSound.GetDuration method, then the total duration is still represented by the value returned by the previous call to the RecordedSound.GetDuration method

   b) if the result of this sum is higher, then the new total duration will be the sum between the overwrite position and the duration of the current session as reported by the RecordingDuration event.

In both cases, please, keep count that the RecordedSound.GetDuration method needs to be invoked before starting the recording session or it will return the error ERR_RECORDER_BUSY (-64).

Hope this helps.

Kind regards

Severino Delaurenti
MultiMedia Soft
#22
Hello,

if you look into the RecordedSoundEditor VB6 sample project, you will see how the duration of a recording session is currently managed into the LabelTotalDuration label: it's important to note that, after a recording session is "stopped" instead of "paused", you will have to restart it using the SetRecordingMode method with the REC_MODE_APPEND option.

You will also notice that, when a new recording session is started in append mode, the RecordingDuration event will return the duration of the current session only; if you should need to know the total sum of the durations of previous appended sessions as well, you would have to catch the RecordingPosition event instead of the RecordingDuration event.

Hope this helps

Kind Regards

Severino Delaurenti
MultiMedia Soft
#23
Hello,

please, take a look into the WasapiMixAndClone VB6 sample project which allows to attach an input device to a specific player and to send the output of the WASAPI stream mixer to a ShoutCast/IceCast server.

Hope this helps to achieve your goals.

Kind regards

Severino Delaurenti
MultiMedia Soft
#24
Hello,
unfortunately we don't have Delphi developers so we don't have a porting to this language available for the mentioned samples.

Kind regards

Severino Delaurenti
MultiMedia Soft
#25
Hello,

1. Unfortunately the K-Lite pack is still needed also if not showing the video stream

2. Please, take a look into the VideoWaveform sample project that makes use of the VideoPlayer.AudioTrackExtract method in order to extract a video file into a memory buffer (or into a temporary file by just changing the bStoreInMemory parameter from TRUE to FALSE). Once you have the memory buffer (or the temporary file) you may load it through the LoadSoundFromMemory method (or LoadSound for a temporary file).
Please, note that you don't need to extract the audio track in order to change pitch and tempo: this can be applied to the video player directly as seen inside the VideoPlayerSimple sample project.

Hope this helps

Kind regards

Severino Delaurenti
MultiMedia Soft
#26
Hello,

yes, this is possible: you simply need to avoid adding the video window which is created through the VideoPlayer.VideoWindowAdd method: in this case only the audio stream of the video clip will be instanced and rendered.
You can test this situation by using the VideoPlayerSimple sample project and commenting out the VideoPlayer.VideoWindowAdd method inside the source code.

In case you should need to extract the audio stream into a brand new WAV audio file (or W64 if bigger than 2 GBytes), you may use the VideoPlayer.AudioTrackExtract method.

In case you should need to extract the audio stream into a brand new audio file of a format different from WAV, like MP3 or Opus, our recorder component comes with the ExtractAudioFromVideoFile method which allows extracting and exporting the audio stream into one of the many supported formats.

Kind regards

Severino Delaurenti
MultiMedia Soft

#27
Hello,

unfortunately we cannot suggest definitive solutions for this kind of problems happening on a specific kind of laptop configuration: the only suggestion is to try updating the video card driver and trying to play with existing K-Lite settings.

Kind regards

Severino Delaurenti
MultiMedia Soft
#28
Hello,

the window hosting the video rendering isn't aware about the resizing of the container panel so it needs to be resized accordingly through the VideoPlayer.VideoWindowMove method.
An example of usage of this method can be found inside the VideoMultipleOutput and VideoPlayerAdvanced sample projects.

Hope this helps

Kind Regards

Severino Delaurenti
MultiMedia Soft


#29
Hello,

being quite older, version 7 of AudioDjStudio has never been tested under Windows 11 but there should be no known reason for which it should not work.

Version 14 of the AdjMmsEng engine is certainly compatible with Windows 11 so you should not have problems. The latest builds 14.4.0.3 are available on our web sites ar the following URLs:
https://www.multimediasoft.com/bins/AdjMmsEng14.zip
https://www.multimediasoft.com/bins/AdjMmsEng14_64.zip

Kind regards

Severino Delaurenti
MultiMedia Soft
#30
Hello and thanks for your feedback.

The K-Lite Tweak tool is indeed a life changer: many video drivers around are quite buggy and sometime a simple configuration change is enough to fix this kind of issue.

Kind regards

Severino Delaurenti
MultiMedia Soft