Banshee.MediaEngine.PlayerEngineService.Open C# (CSharp) Метод

Open() публичный Метод

public Open ( SafeUri uri ) : void
uri Hyena.SafeUri
Результат void
        public void Open (SafeUri uri)
        {
             // Check if the uri exists
            if (uri == null || !File.Exists (uri.AbsolutePath)) {
                return;
            }
            // Try to find uri in the library
            int track_id = DatabaseTrackInfo.GetTrackIdForUri (uri);
            if (track_id > 0) {
                DatabaseTrackInfo track_db = DatabaseTrackInfo.Provider.FetchSingle (track_id);
                Open (track_db);
            } else {
                // Not in the library, get info from the file
                TrackInfo track = new TrackInfo ();
                using (var file = StreamTagger.ProcessUri (uri)) {
                    StreamTagger.TrackInfoMerge (track, file, false);
                }
                Open (track);
            }
        }

Same methods

PlayerEngineService::Open ( Banshee.Collection.TrackInfo track ) : void

Usage Example

Пример #1
0
        [Test] // https://bugzilla.gnome.org/show_bug.cgi?id=722731
        public void TestThatInvalidTracksShouldNotBecomeCurrentTrack()
        {
            var a_valid_track = "A_boy.ogg";
            var a_valid_uri   = new SafeUri(Paths.Combine(TestsDir, "data", a_valid_track));

            var a_track_that_doesnt_exit = "this_does_not_exist_in_the_data_folder.ogg";
            var an_invalid_track         = new SafeUri(Paths.Combine(TestsDir, "data", a_track_that_doesnt_exit));

            TrackInfo current_track = null;

            WaitUntil(PlayerEvent.Error, () => {
                service.Open(a_valid_uri);
                current_track = service.CurrentTrack;
                Assert.IsNotNull(current_track);
                Assert.IsTrue(current_track.Uri.AbsolutePath.EndsWith(a_valid_track));

                service.SetNextTrack(an_invalid_track);
                service.Play();
            });

            WaitUntil(PlayerEvent.StartOfStream, () => {
                service.Open(a_valid_uri);
                service.Play();
            });

            current_track = service.CurrentTrack;
            Assert.IsNotNull(current_track);
            var actual_filename = System.IO.Path.GetFileName(SafeUri.UriToFilename(current_track.Uri));

            Assert.AreEqual(a_valid_track, actual_filename);
        }
All Usage Examples Of Banshee.MediaEngine.PlayerEngineService::Open