GithubHelp home page GithubHelp logo

samdel / chromecast-desktop-audio-streamer Goto Github PK

View Code? Open in Web Editor NEW
406.0 12.0 30.0 44.08 MB

Stream the sound of your desktop to your Chromecast Audio device

License: MIT License

C# 99.97% Batchfile 0.03%
chromecast chromecast-audio desktop streaming csharp

chromecast-desktop-audio-streamer's People

Contributors

dependabot[bot] avatar glentakahashi avatar randomascii avatar samdel avatar wikijm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chromecast-desktop-audio-streamer's Issues

DAS Stopped Working

Running v 2.4.14 continuously for 6 days, casting to two Speaker Groups. Sometime overnight, the DAS quit working, and Windows displayed the attached Error Box. No additional data was available, and Windows closed the App, so I could not get the Log File. Windows 10 Pro 64-bit, with 16 GB RAM.

It seemed to be very stable throughout the week until this happened. I restarted DAS, and it is running OK now,

DAS_StoppedWorking

Xamarin Forms

Do you work with xamarin.forms? If yes, how? Do you have a manual?

Companion Android app with Assistant support

I just had a thought.

Would be so cool to be able to initiate/start the stream from a Google Home device.

I guess this would be possible by having an Android app with Google Assistant support. That app would then connect to the Desktop Audio Streamer app (via static IP:port ?).
You could then initiate a stream by telling the Home device "Ok Google. Talk to Desktop Streamer. Stream HTPC." (and even shorter with Assistant Shortcuts)
The Android app would then send a signal to the desktop app to start the stream.

Maybe there is an easier way to achieve this.
Unfortunately I'm neither a mobile app developer or a desktop app developer. I just have crazy ideas :)

Thank you for this software btw. It's the only one for this purpose that works for me (and it's tiny and fast).

Connect Fail

The DAS dropped all speaker connections, and repeatedly attempts to reconnect, but fails almost immediately. This has been happening for about two days...

I rebooted my router, and the PC, and tried again with same issue:

Log-2019-07-27-v2-4-1-ConnectFails.zip

Casts to groups (with more than one speaker) cannot be stopped, and will immediately reconnect

To reproduce: create a group (with at least two devices - if the group has only one device, all is well). Cast from DAS, then click stop. DAS will immediately reconnect.

This also happens if you start casting to a speaker in this group from elsewhere. The cast will start, however DAS will immediately reconnect, interrupting the other stream.

It may also be related that groups may show up twice in the device list, but this is not consistent. They are not duplicated in user.config

(As an obvious workaround I'm casting to individual devices, but the motivation to use groups is because they seemed to be more reliable in avoiding single device dropouts. I haven't been casting to multiple devices with 2.4 though, so that was based on experience with earlier versions)

Command line or config to change sound source?

Very interesting project!
I am curious if there is a way to change the settings for the sound source more or less programatically?
Also, would you kow if it is possible to select individual pairs in 5.1 sound cards?
Windows7

Add a capturing/streaming indicator

Show the status of capturing/streaming in the user interface.
It's confusing now when the PC's soundcard is not playing anything, then there's nothing captured and streamed (stream silence then?).

Green/blinking when data is streamed, red when no data is streamed!?

Connecting but no playback

Hey Guys,

maybe you have an idea: the program finds an connects to my chromecast 3, the device window turns green and says "buffering 0:00" but there is no sound. After a while it returns to idle again.

Thanks in advance for your help and kudos for SamDel and his efforts :)
That's what the log says:

Add IP4 addresses: 192.168.178.23 - 127.0.0.1

Set size, height: 550 width: 850

Discovered device: Schuppen 192.168.178.34:8009 null

out [21:22:29][192.168.178.34:8009] [NotConnected]: {"type":"CONNECT"}

out [21:22:30][192.168.178.34:8009] [NotConnected]: {"requestId":1,"type":"GET_STATUS"}

in [21:22:30] [192.168.178.34:8009] [NotConnected]: {"type":"CLOSE"}

[21:22:30] [192.168.178.34:8009] ResumePlaying

out [21:22:32][192.168.178.34:8009] [NotConnected]: {"type":"CONNECT"}

out [21:22:32][192.168.178.34:8009] [NotConnected]: {"requestId":2,"type":"GET_STATUS"}

in [21:22:32] [192.168.178.34:8009] [NotConnected]: {"requestId":2,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"58b6685b-b788-479b-82b3-904bd0f6a52f","statusText":"Default Media Receiver","transportId":"58b6685b-b788-479b-82b3-904bd0f6a52f"}],"userEq":{},"volume":{"controlType":"attenuation","level":1.0,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:22:34][192.168.178.34:8009] [LaunchingApplication]: {"type":"CONNECT"}

out [21:22:34][192.168.178.34:8009] [LaunchingApplication]: {"appId":"CC1AD845","requestId":3,"type":"LAUNCH"}

in [21:22:34] [192.168.178.34:8009] [LaunchingApplication]: {"requestId":0,"status":{"userEq":{},"volume":{"controlType":"attenuation","level":1.0,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

in [21:22:35] [192.168.178.34:8009] [LaunchingApplication]: {"requestId":3,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"457debe9-8aca-4c06-9e6a-fe765c46eec3","statusText":"Default Media Receiver","transportId":"457debe9-8aca-4c06-9e6a-fe765c46eec3"}],"userEq":{},"volume":{"controlType":"attenuation","level":1.0,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:22:35][192.168.178.34:8009] [LaunchedApplication]: {"type":"CONNECT"}

out [21:22:35][192.168.178.34:8009] [LoadingMedia]: {"autoplay":true,"currentTime":0,"activeTrackIds":[],"repeatMode":"REPEAT_OFF","media":{"contentId":"http://192.168.178.23:52596/","contentType":"audio/wav","streamType":"BUFFERED","metadata":{"type":0,"metadataType":0,"title":"Desktop Audio Streamer","images":[]}},"requestId":1,"type":"LOAD"}

in [21:22:35] [192.168.178.34:8009] [LoadingMedia]: {"type":"MEDIA_STATUS","status":[],"requestId":0}

in [21:22:35] [192.168.178.34:8009] [LoadingMedia]: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":1,"playbackRate":1,"playerState":"IDLE","currentTime":0,"supportedMediaCommands":274447,"volume":{"level":1,"muted":false},"activeTrackIds":[],"media":{"contentId":"http://192.168.178.23:52596/","contentType":"audio/wav","streamType":"BUFFERED","metadata":{"type":0,"metadataType":0,"title":"Desktop Audio Streamer","images":[]}},"currentItemId":1,"extendedStatus":{"playerState":"LOADING","media":{"contentId":"http://192.168.178.23:52596/","contentType":"audio/wav","streamType":"BUFFERED","metadata":{"type":0,"metadataType":0,"title":"Desktop Audio Streamer","images":[]}}},"repeatMode":"REPEAT_OFF"}],"requestId":0}

in [21:22:35] [192.168.178.34:8009] [Idle]: {"requestId":0,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"457debe9-8aca-4c06-9e6a-fe765c46eec3","statusText":"Casting: Desktop Audio Streamer","transportId":"457debe9-8aca-4c06-9e6a-fe765c46eec3"}],"userEq":{},"volume":{"controlType":"attenuation","level":1.0,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

in [21:22:36] [192.168.178.34:8009] [Idle]: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":1,"playbackRate":1,"playerState":"BUFFERING","currentTime":0,"supportedMediaCommands":274447,"volume":{"level":1,"muted":false},"activeTrackIds":[],"currentItemId":1,"repeatMode":"REPEAT_OFF"}],"requestId":0}

out [21:22:44][192.168.178.34:8009] [Buffering]: {"requestId":4,"type":"GET_STATUS"}

out [21:22:59][192.168.178.34:8009] [Buffering]: {"requestId":5,"type":"GET_STATUS"}

out [21:23:14][192.168.178.34:8009] [Buffering]: {"requestId":6,"type":"GET_STATUS"}

out [21:23:29][192.168.178.34:8009] [Buffering]: {"requestId":7,"type":"GET_STATUS"}

out [21:23:34][192.168.178.34:8009] [Buffering]: {"volume":{"level":0.95},"requestId":8,"type":"SET_VOLUME"}

in [21:23:34] [192.168.178.34:8009] [Buffering]: {"device":{"capabilities":196613,"deviceId":"c94524c6-829c-86aa-345f-705f5604cfdc","name":"Schuppen","volume":{"level":0.949999988079071,"muted":false}},"requestId":0,"type":"DEVICE_UPDATED"}

in [21:23:34] [192.168.178.34:8009] [Buffering]: {"requestId":8,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"457debe9-8aca-4c06-9e6a-fe765c46eec3","statusText":"Casting: Desktop Audio Streamer","transportId":"457debe9-8aca-4c06-9e6a-fe765c46eec3"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:23:44][192.168.178.34:8009] [Buffering]: {"requestId":9,"type":"GET_STATUS"}

out [21:23:59][192.168.178.34:8009] [Buffering]: {"requestId":10,"type":"GET_STATUS"}

out [21:24:14][192.168.178.34:8009] [Buffering]: {"requestId":11,"type":"GET_STATUS"}

out [21:24:29][192.168.178.34:8009] [Buffering]: {"requestId":12,"type":"GET_STATUS"}

in [21:24:43] [192.168.178.34:8009] [Buffering]: {"requestId":1,"type":"LOAD_FAILED","detailedErrorCode":104}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":5}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":6}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":7}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":9}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":10}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":11}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[],"requestId":12}

in [21:24:43] [192.168.178.34:8009] [LoadFailed]: {"type":"MEDIA_STATUS","status":[{"mediaSessionId":1,"playbackRate":1,"playerState":"IDLE","currentTime":0,"supportedMediaCommands":274447,"volume":{"level":1,"muted":false},"media":{"contentId":"http://192.168.178.23:52596/","contentType":"audio/wav","streamType":"BUFFERED","metadata":{"type":0,"metadataType":0,"title":"Desktop Audio Streamer","images":[]},"breakClips":[],"breaks":[]},"currentItemId":1,"idleReason":"ERROR"}],"requestId":4}

in [21:24:43] [192.168.178.34:8009] [Idle]: {"requestId":0,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"457debe9-8aca-4c06-9e6a-fe765c46eec3","statusText":"Default Media Receiver","transportId":"457debe9-8aca-4c06-9e6a-fe765c46eec3"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:24:44][192.168.178.34:8009] [Idle]: {"requestId":13,"type":"GET_STATUS"}

[21:24:44] [192.168.178.34:8009] ResumePlaying

in [21:24:44] [192.168.178.34:8009] [Idle]: {"requestId":13,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"457debe9-8aca-4c06-9e6a-fe765c46eec3","statusText":"Default Media Receiver","transportId":"457debe9-8aca-4c06-9e6a-fe765c46eec3"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:24:48][192.168.178.34:8009] [LaunchingApplication]: {"type":"CONNECT"}

out [21:24:48][192.168.178.34:8009] [LaunchingApplication]: {"appId":"CC1AD845","requestId":14,"type":"LAUNCH"}

in [21:24:48] [192.168.178.34:8009] [LaunchingApplication]: {"requestId":0,"status":{"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

in [21:24:48] [192.168.178.34:8009] [LaunchingApplication]: {"type":"CLOSE"}

in [21:24:49] [192.168.178.34:8009] [Closed]: {"requestId":14,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"bf9e764c-fd92-4e44-a0d3-8432570227ef","statusText":"Default Media Receiver","transportId":"bf9e764c-fd92-4e44-a0d3-8432570227ef"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:24:50][192.168.178.34:8009] [Connected]: {"requestId":15,"type":"GET_STATUS"}

in [21:24:50] [192.168.178.34:8009] [Connected]: {"requestId":15,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"bf9e764c-fd92-4e44-a0d3-8432570227ef","statusText":"Default Media Receiver","transportId":"bf9e764c-fd92-4e44-a0d3-8432570227ef"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:24:59][192.168.178.34:8009] [Connected]: {"requestId":16,"type":"GET_STATUS"}

in [21:24:59] [192.168.178.34:8009] [Connected]: {"requestId":16,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"bf9e764c-fd92-4e44-a0d3-8432570227ef","statusText":"Default Media Receiver","transportId":"bf9e764c-fd92-4e44-a0d3-8432570227ef"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}

out [21:25:14][192.168.178.34:8009] [Connected]: {"requestId":17,"type":"GET_STATUS"}

in [21:25:14] [192.168.178.34:8009] [Connected]: {"requestId":17,"status":{"applications":[{"appId":"CC1AD845","displayName":"Default Media Receiver","iconUrl":"","isIdleScreen":false,"launchedFromCloud":false,"namespaces":[{"name":"urn:x-cast:com.google.cast.cac"},{"name":"urn:x-cast:com.google.cast.debugoverlay"},{"name":"urn:x-cast:com.google.cast.broadcast"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"bf9e764c-fd92-4e44-a0d3-8432570227ef","statusText":"Default Media Receiver","transportId":"bf9e764c-fd92-4e44-a0d3-8432570227ef"}],"userEq":{},"volume":{"controlType":"attenuation","level":0.949999988079071,"muted":false,"stepInterval":0.05000000074505806}},"type":"RECEIVER_STATUS"}


Add instructions

Would it be possible for you to add instructions to aid in setting up the project? I'm having trouble getting rid of 92 build errors and cloning it and opening it up in Visual Studio 2019 (after using InstallerProjects and Microsoft.Multilingual.VSExtension too). Example of one.
CS0234 The type or namespace name 'Practices' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

Playback stops several times a day

Hi there. Your tool is awesome!

I use it at work to stream from a computer to a pair a speakers on the next floor.

I suspect my issue has more to do with external factors but several times a day, the cast just stop. Your app shows my device as stopped, and if I press play again, the stream resumes as if nothing happened.
I use a chromecast audio, that is constantly plugged in using the provided socket. It's always shown in my Google Home app so it doesn't seems to be disconnecting. Both the audio source (laptop) and chromecast are right next to a WiFi relay. Maybe it's just the connection and there's nothing that can be done, but are you aware of any other possible causes?

Additionally, is there any way I could automatically restart the stream with a script or something? This would be a dirty workaround but still helpful.

Many thanks anyhow!

Devices not found after an update of the Chromecast firmware

Hi. Just discovered this and trying it out - looks promising, but it doesn't find all of my Chromecast Audio devices. The log (attached below) shows some object reference errors...

[DeviceInformation.GetDeviceInformation] Object reference not set to an instance of an object.

My setup is as follows: 5 x chromecast audio devices with IP addresses .32 to .36, with 2 groups configured (one for whole house, one for just a pair of them). I've tried temporarily disabling my firewall, and also manually entering one of the missing ones in the config file, but they still don't appear. Please let me know if you need any more info to help debug.

Thanks.

DesktopAudioStreamer.log

Error running application

This is the error I get when running the application. When I choose to continue, the app finds the chromcast and I hear the "clicks" when adjusting volume on the slider, but streaming doesn't work. Says "buffering" but nothing happens.

Unhandled exception has occurred in you application.

AudioClient:: Initialize casused and error: 0x80070057, "The parameter is incorrect"

************** Exception Text **************
CSCore.CoreAudioAPI.CoreAudioAPIException (0x80070057): IAudioClient::Initialize caused an error: 0x80070057, "The parameter is incorrect.".
at CSCore.SoundIn.WasapiCapture.InitializeInternal()
at CSCore.SoundIn.WasapiCapture.Initialize()
at ChromeCast.Desktop.AudioStreamer.Streaming.LoopbackRecorder.StartRecordingDevice()
at ChromeCast.Desktop.AudioStreamer.Application.ApplicationLogic.RecordingDeviceChanged()
at ChromeCast.Desktop.AudioStreamer.MainForm.cmbRecordingDevice_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at ChromeCast.Desktop.AudioStreamer.MainForm.AddRecordingDevices(MMDeviceCollection devices, MMDevice defaultdevice)
at ChromeCast.Desktop.AudioStreamer.Streaming.LoopbackRecorder.GetDevices(IMainForm mainFormIn)
at ChromeCast.Desktop.AudioStreamer.Application.ApplicationLogic.Start()
at ChromeCast.Desktop.AudioStreamer.MainForm.MainForm_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3260.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

ChromeCast.Desktop.AudioStreamer
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/ChromeCast.Desktop.AudioStreamer.exe

Microsoft.Practices.Unity
Assembly Version: 4.0.0.0
Win32 Version: 4.0.1.0
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/Microsoft.Practices.Unity.DLL

System.Runtime
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.dll

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3190.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Threading
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Threading/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Threading.dll

System.Collections
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Collections/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Collections.dll

System.Reflection
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Reflection/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Reflection.dll

System.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Linq/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Linq.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3221.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Globalization
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Globalization/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Globalization.dll

System.Resources.ResourceManager
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Resources.ResourceManager/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Resources.ResourceManager.dll

System.Runtime.Extensions
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Extensions/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Runtime.Extensions.dll

System.Linq.Expressions
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Linq.Expressions/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Linq.Expressions.dll

System.Reflection.Extensions
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Reflection.Extensions/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Reflection.Extensions.dll

Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.7.3260.0 built by: NET472REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Rssdp.Native
Assembly Version: 3.0.0.0
Win32 Version: 3.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/Rssdp.Native.DLL

System.Net.Http
Assembly Version: 4.0.0.0
Win32 Version: 4.7.3056.0 built by: NET472REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll

Zeroconf
Assembly Version: 2.9.0.0
Win32 Version: 2.9.0.15
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/Zeroconf.DLL

CSCore
Assembly Version: 1.2.1.2
Win32 Version:
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/CSCore.DLL

NAudio
Assembly Version: 1.8.0.0
Win32 Version: 1.8.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Desktop%20Audio%20Streamer/Desktop%20Audio%20Streamer/NAudio.DLL

Change names

  • The executable is called Chromecast.blah.exe =>
  • Application name, Sandpiper =>
  • Install folder is ..\Desktop Audio Streamer\Desktop Audio Streamer.., Manufacturer = 'Desktop Audio Streamer' and product name = 'Desktop Audio Streamer'
  • If you change .exe name and/or install folder the firewall entries on the desktop should be updated when you upgrade the application. If it's changed then test if you get the firewall popup automatically.
  • Repository name is 'SamDel/ChromeCast-Desktop-Audio-Streamer'. Github redirects automatically when you change it. Does the API to check for a new version also redirect?

HiDPI design/position issues?

There seems to be some issues with the play button position. I'm not sure why, but it might be Windows scaling (HiDPI) related?

2018-04-12 23_12_25-new issue samdel_chromecast-desktop-audio-streamer

HDMI audio output, doesn't stream

I just tried this on both my Laptop and my HTPC (Windows 10, connected with HDMI to TV).
On the Laptop it works fine, I can stream audio playback to my Home Minis.
But on the HTPC it never starts streaming the audio, just says "Idle".

I suspect that's because I'm using the HDMI for audio output from the Windows HTPC.
Is there a fix for this?

Bad sound quality

The audio sounds like a low-bitrate mp3 over my chromecast audio.
This is a good application but the sound quality is a dealbreaker.
Using Windows 10.

Audio drop-outs

Research the audio drop-outs.

Is it due to network load or bad connections?
Can something be changed in the streaming or buffering to prevent drop-outs?

No IP addresses found on your device.

Facing a strange issue on my windows laptop:
screenshot

Log window:

Add IP4 addresses:

Set size, height: 550 width: 850

No IP addresses found on your device.

Connect to Chromecast doesn't mute desktop speaker

Hi !

I received my Chromecast today and when i tried cast from my laptop (with Chromecast in chrome, ChromeCast Desktop Audio Streamer, or other), the sound is controlled by my laptop mixer, so i have sound on my TV and my laptop, this is very annoying because when i mute my laptop, i mute Chromecast too..
I've tried a bit of things but no one solved my problem. Did someone fix that ?
(Running in win10, have the same Wi-Fi connection for both laptop and chromecast)

Synchronising 2 Chromecast Audio

I have 2 chromecasts audio (one actually included in JBL Playlist speaker) and they are out of sync (when playing simultaneously).
Am I doing something wrong ?

Auto-mute/unmute desktop audio

Right now I have to mute and unmute the computer audio every time after selecting or unselecting a device to stream. Could you please add the option to automatically mute/unmute the audio on the computer when streaming starts/ends? Thanks!

No sound

Long story short ...

I have done a factory reset on all devices. I am not able to get a Group to play music.

The Group works fine when I Cast from within the Chrome browser on a Windows computer.

Plus, I created and deleted groups in the Home app to try and get a result. How do i make the deleted groups disappear from Streamer. Thanks.
log01.txt

Feature Request: REST interface

First off, I love this tool. It fixes all the problems I had with Airfoil before, and it's been super reliable. Thank you for building such an awesome tool. The only thing I would like to see added is something list a REST interface so I can integrate this with my Smartthings setup and start controlling this with my voice. I'm looking to be able to say stuff like "Alexa, turn on my bedroom speaker" or "Alexa, set living room speaker to 80%", and while I'm not looking for a full blown skill, it would be nice to have a stable set of URLs I could tell Smartthings to call, which would be enough of a jumping off point to be able to integrate your app into my system. Even Python bindings would be enough to get me going.

Identify the song that is playing

Here's another topic for a future enhancement: Why not incorporate the audio technology that can identify the song that is playing, and display it on the Home Screen? Several Apps do this now: Shazam, SoundHound, and Google Sound Search (https://assistant.google.com/services/a/uid/00000024216d4bb8?hl=en-US ), to name a few. Then there's databases like 'Musipedia' (https://www.musipedia.org/ ), as well as Audio Fingerprinting (https://www.acrcloud.com/identify-songs-music-recognition-online/ ) ... Perhaps one of these services could be integrated with DesktopAudioStreamer to provide a similar result... (Food for thought)

Interestingly, when I now ask Google: "Hey, Google, What song is playing?" Google responds: "You're listening to 'Sandpiper'."... However, when Google is playing from an external source ("Hey, Google, Play sum Jazz.") , the same question results in Google properly identifying and saying the current song and artist...

So at this point, it seems that Google is not aware of the audio content in the DesktopAudioStream ('Sandpiper')... MAYBE, if any of the above references can be integrated, the App could update the screen with the song title (and maybe the artist as well), so it would be displayed along with the App name, For example, the screen would display something like: (" 'Time After Time' by 'Miles Davis' on 'Sandpiper'." -- see image below), AND you could ask Google 'What's playing?', and it would respond audibly with: "You're listening to 'Time After Time' by 'Miles Davis' on 'Sandpiper'."

Title ArtistIdea

Originally posted by @FA-Bubba in #29 (comment)


On the id issue, the song name could be retrieved by this without trying to ID the song: https://www.last.fm/api/show/user.getRecentTracks - however I looked around a bit and unfortunately all the various last.fm scrobblers, official and non-official seem to be either dead or on their way out. On the recognition front, Cortana song ID service is also discontinued and Shazam isn't supporting PC anymore, arccloud & audd are payola...

One Chromecast device is out of sync when playing a group, due to a bluetooth connection

Here is an issue I encountered that is not related to the Streamer App, but I'm describing here in case it may happen to anyone else:...

I have 8 pairs of multimedia stereo speakers that I stream to with the Streamer App via Groups, which keeps all of the speakers in sync. At one point, I noticed one pair of speakers had dropped out of sync, and upon closer analysis, it was clear that this speaker set was receiving two independent streams, with different timing...

Coincidentally, this speaker pair had previously been synced to my phone via Bluetooth, but I had since told my phone to "forget" that speaker set, and they were not showing up in my phone's Bluetooth device list. No other speaker pair had ever been synced to anything via Bluetooth...

It turns out that this 'rogue' speaker pair had autonomously paired via Bluetooth with the PC that was streaming the audio content -- I had never paired any Bluetooth devices to this PC, so this Bluetooth connection was 'spontaneous'. I went into the PC's Bluetooth control panel, and confirmed it was paired to the 'rogue' speaker pair, and that is why those speakers were playing two streams, with one out of sync.

I removed the Speakers from the PC's Bluetooth device list, and the problem was solved. Now that I am aware, that will be the first diagnostic I consider if I ever hear an out-of-sync speaker.

Now that I have music in all rooms, I removed my Google Home Minis from every Group that they were previously assigned to, so now, I can independently set the volume for the Google Home devices, and all speaker pairs that my PC is streaming to... This enables me to ask Google to do things, even if the music volume is low.

Originally posted by @FA-Bubba in #48 (comment)

Sound quality changes when opening the windows 10 sound dialog

This should be considered a question rather than a bug report.

Your software works fine for me except it was quite a tinny sound at first. I went to the windows 10 sound settings page (right click on volume control, click on sound settings) and the sound suddenly turned good. When I close the dialog it gets tinny again. I find it most peculiar that just opening a dialog changes the sound like that but if that's what I need to do it's no big deal. Do you have any ideas off the top of your head why that would happen?

Audio Time-Lag

REVISED... See attached comment

I downloaded and installed audio-cast,exe on my Windows 7 Pro PC (16 GB RAM). Audio-cast sees my Google devices (2 minis, a hub, 1 Chromecast Audio & 1 Chromecast). I selected the 2 Minis & the Chromecast Audio, and heard the connect sound from each speaker. I started a Playlist in iTunes, and it played to all of the speakers, but there a time-lag in the sound stream. That is, the speakers are not sync'd, but output the sound with various delays. The delay can be minor, or significant, with no consistency...

What tools &/or actions can I try to get the sound output to all speakers on the same time-line?

Thank you!

Unable to minimize the app to tray

Issue: Unable to minimize the app to tray.

Currently:
Clicking on the minimize icon, minimizes the app but it still shown on the taskbar
Clicking on the close icon, closes the app.

Don't connect to muted speakers at startup

I'd like to cast to only some of the devices on my network, not all. The mute setting can be used to facilitate that - if the device is muted, then don't start casting to it automatically. Could be an option too. **Update: ** Oops, just noticed the 2.0.x line which takes care of this.. sorry

Icon Tray

Add option to Minimize to tray, startup minimized to icon tray.

Improve group support

Technically:
Now when a group has elected a new leader the device box is removed from the user interface and a new one is created. A group should not be removed from the user interface, when there's a new leader the underlying IP address should be changed. When a connection to the leader can't be made the box should turn red. Etc.

User interface:
Change the appearance of the boxes to distinguish between groups and devices.
Show (in the device box) which groups a device is member of, group 1 yellow dots/lines, group 2 orange, etc. Something like that.

Cannot cast to individual speaker when DAS is casting to a group the speaker belongs to

I thought I created an issue for this apparently I didn't.

To reproduce:
Create group A with speakers 1 and 2
Start casting from DAS to group A
Try to cast something else (not from DAS) to either speaker 1 or 2.

Result:
Stream will start however DAS will override and take over.

Expected:
DAS won't take over until the stream is stopped.

Reproduced on 2.4.15 (but old issue)

Not listening to the recording device

With 2.4.5 (however not a new issue) intermittently the program may stop listening to the Recording Device. The dB meter will not show any signal even though the audio is playing through the recording device. Once this happens it won't recover, but a simple restart will always fix the issue. It's noticeable since I run 24/7.

I'll update if I can get a reliable repro.

Streaming Latency

There is a 5~10 second latency and cause video not syncing with audio. Is there anyway to reduce the latency? (Ver 1.9.0.0)

Really great app and appreciate your time and effort for developing.

Development 1.9

@FA-Bubba
Let's discuss 1.9 development here.

In 1.9.40 the systray issue, and the issue to stop a 'buffering' device are fixed. And some changes to make the application more stable.

recognises my chromecast tv, but does not play music

hi,

thanks for your program.
does it work for you?

i installed it via the installer, and it recognises my chromecast tv, and even starts my tv up when my tv is in standby.
but it does not play music. the tv shows the google slideshow, or the blue chromecast icon, but no sound.

the acidhax application does play sound without problems, but i prefer yours because it is much smaller, and has an easy installer.

how can i get it to work?

thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.