I am attempting to use the Media Session, with an aggregate source containing a webcam+microphone sources. I am attempting to build a live preview/recording application using Media Foundation. TL DR: See the section "So My Questions Are:" - This is very long, thanks for looking. _timeStamp : does not reflect the seeked position. M_pSourceReader->ReadSample((DWORD)MF_SOURCE_READER_FIRST_AUDIO_STREAM, 0, NULL, &dwFlags, &_timeStamp, &pSample) Whenever I change the slider position it calls Seek(()) (in pseudo code) Hr = PropVariantToInt64(var, &hnsDuration) HRESULT hr = m_pSourceReader->GetPresentationAttribute(MF_SOURCE_READER_MEDIASOURCE, MF_PD_DURATION, &var) Windows::Foundation::TimeSpan GetDuration() The position is tied to a slider between 0 and the audio max time obtained from: Hr = m_pSourceReader->SetCurrentPosition(GUID_NULL, var) Hr = InitPropVariantFromInt64(position.Duration, &var) Void Seek(Windows::Foundation::TimeSpan position) I have this function which sets the position: I want to be able to seek anywhere in the audio timeline. I'm using IMFSourceReader to grab samples on an audio file. Could I just make a pointer to that function from the invoke method in IMFAsyncCallback? and how does it know to go to that callback function? I don't see how the pointer and event handle direct there each time Really all I need is to implement his function OnRenderCallback ( IMFAsyncResult * result )but that's where I sort of hit a wall. Also the above linked example doesn't quite work since it requires /clr or /ZW in the command line for his implementation AsyncCallback.hĪnd I am using openFrameworks which conflicts with both. Problem is I just don't know enough about the asynchronous callbacks and the documentation for them just isn't clear to me. Thankfully someone sort of did most of the work for an example they were building for BUILD2014 and posted the code on github. I am developing and I need an callback method to refill the buffer. Basically I made some simple oscillators for a synthesizer Now you have got the color for the hex you have provided.So I've looked through the samples for the Media Foundation audio and they basically have all the functionality I need except for they don't really implement a callback for when the audio buffer is empty. Now all that left is to get the color by Calling the method and pass the hex string to it as parameter: var color = GetSolidColorBrush("#FFCD3927").Color SolidColorBrush myBrush = new SolidColorBrush(Windows.UI.Color.FromArgb(a, r, g, b)) If the above explanation got you confused and you just want to convert the hex to Color and don't want to be bothered or to get deep into it just use following method :Ĭreate a method to Convert Hex string to SolidColorBrush: public SolidColorBrush GetSolidColorBrush(string hex)īyte a = (byte)(Convert.ToUInt32(hex.Substring(0, 2), 16)) īyte r = (byte)(Convert.ToUInt32(hex.Substring(2, 2), 16)) īyte g = (byte)(Convert.ToUInt32(hex.Substring(4, 2), 16)) īyte b = (byte)(Convert.ToUInt32(hex.Substring(6, 2), 16)) In otherwords, the global behaviors, UI and interaction can be reused using the classes available in all frameworks, usually represented by a Portable Class Library (PCL), and each version of your app ( Winforms, Universal, Xamarin, etc) would reuse that shared library for the "core" of the application and the UI (and platform-specific behavior) would be the only part you would implement separately, in each version of the app you want to support. instead, what you want to do is abstract the platform-specific behavior to an interface, and only that part has to be rewritten. However, you don't necessarily have to rewrite the WHOLE THING. net (such as System.Drawing) in a Universal Project. NET framework, and as a result, you can't reuse everything from full. Windows Universal apps don't have the same coverage of namespaces, classes, and APIs as the full. The issue here isn't the framework version but rather the reduced framework API that is available to Universal Apps. You may hit dependency error like 'System.drawing namespace not found' or 'ColorConverter does not exist'. net Applications the code above will work, but not in UWP Apps or previous Windows Apps. Something from the following thread from StackOverflow string hex = "#FFFFFF" Ĭolor color = (hex) The most common solution you find will be some thing like the code below which can be found in the following thread in StackOverflow using Ĭolor color = (Color)ColorConverter.ConvertFromString("#FFDFD991") You must have googled to find the solution, or performed a search in Stack-overflow If you have developed apps for Universal Windows Platform there must be situations where you had to convert Hex-code to Color. Menu Converting Hex to Color in C# for Universal Windows Platform (UWP) 08 March 2016 on C#, UWP, Universal Windows App, Windows 10
0 Comments
Leave a Reply. |